Click here to Skip to main content
15,891,184 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
updateCampaignGroup = async (id) => {
        let newArr = {
          id: parseInt(id),
          campaignGroupName:
            inputState.nameSelectedVal === ''
              ? selectedGroup[0].campaignGroupName
              : inputState.nameSelectedVal,
    
          campaignNumber: selectedCampaigns,
          goal:
            inputState.goalSelectedVal === ''
              ? selectedGroup[0].goal
              : inputState.goalSelectedVal,
          kpi:
            inputState.kpiSelectedVal === ''
              ? selectedGroup[0].kpi
              : inputState.kpiSelectedVal,
          desc:
            inputState.desSelectedVal === ''
              ? selectedGroup[0].desc
              : inputState.desSelectedVal,
          dailySpend: selectedCampaigns.length === 0 ? 0 : 450,
          createdAt: await new Date().toLocaleDateString('en-gb', {
            year: 'numeric',
            month: 'short',
            day: 'numeric',
          }),
          createdBy: JSON.parse(localStorage.getItem('okta-token-storage')).idToken
            .claims.name,
          dailySpendofTotal: selectedCampaigns.length === 0 ? 0 : 12,
           
        };
      
        const index = campaignGroupListing.findIndex((item) => item.id === parseInt(id));
        campaignGroupListing.splice(index, 1);
        campaignGroupListing.splice(index, 0, newArr);
        
        localStorage.setItem(
          'campaignGroupData',
          JSON.stringify(campaignGroupListing),
        );
        await setIsOpen(false);
        updateGroupListData(campaignGroupListing);
        toast({
          duration: 2000,
          position: 'top-right',
          status: 'success',
          title: 'Campaign group has been created successfully',
        });
        setInputState({
          nameSelectedVal: '',
          desSelectedVal: '',
          goalSelectedVal: '',
          kpiSelectedVal: '',
        });
      };
    
      const saveCampaignGroup = async () => {
        campaignGroupData.push({
          id: Math.floor(Math.random() * 100),
          campaignGroupName: inputState.nameSelectedVal,
          campaignNumber: selectedCampaigns,
          desc: inputState.desSelectedVal,
          createdAt: await new Date().toLocaleDateString('en-gb', {
            year: 'numeric',
            month: 'short',
            day: 'numeric',
          }),
          createdBy: JSON.parse(localStorage.getItem('okta-token-storage')).idToken
            .claims.name,
          goal: inputState.goalSelectedVal,
          kpi: inputState.kpiSelectedVal,
          dailySpend: selectedCampaigns.length === 0 ? '-' : 450,
          dailySpendofTotal: selectedCampaigns.length === 0 ? '-' : 12,
        });
        localStorage.setItem(
          'campaignGroupData',
          JSON.stringify(campaignGroupData),
        );
        await setIsOpen(false);
        updateGroupListData(campaignGroupData);
    
        toast({
          duration: 2000,
          position: 'top-right',
          status: 'success',
          title: 'Campaign group has been created successfully',
        });
        setInputState({
          nameSelectedVal: '',
          desSelectedVal: '',
          goalSelectedVal: '',
          kpiSelectedVal: '',
        });
      };


What I have tried:

I am getting the message statement & function not covered for findIndex() & some branch is not covered as selectedGroup[0].desc. Please guide me how to i write test case in this below code statement function & branch covered.
Posted

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900