Project Name - da-tf-project-1-1b0f Environment - development Service Name - campaign-execution-api Build Id - 221e3941-6a3f-4d15-a0bc-47eab594a3de Executed Time - Thu Jan 9 13:27:30 UTC 2025 ------------------------------------------------ > campaign-execution-api@1.0.0 nyc:test > nyc mocha test/unit/setup.js 'test/unit/**/*.spec.js' #active-number controller #addActiveNumber Should add active number successfully ✔ Should return result successfully Should not add active number ✔ Db should throw error ✔ should return bad request for missing required fields #getActiveNumbers Should get active number successfully ✔ Should return active number Should throw error while getting active number ✔ should return bad request for invalid sort parameter ✔ Db should throw error #getActiveNumberById Should get active number by id ✔ Should return status code 200 Should not get active number by id ✔ Db should throw error #updateActiveNumber Should update active number successfully ✔ Should return status code 200 successfully #deleteActiveNumber Should delete active number successfully ✔ Should return statusCode 200 Should not delete active number ✔ Should throw error if message is empty #activeNumberService #addActiveNumber Should add active number successfully ✔ Should return active number successfully ✔ Should rollback transaction on error #getActiveNumberById Should get active number by id ✔ Should return active number successfully Should not get active number by id ✔ Db should throw error #deleteActiveNumber Should delete active number successfully ✔ Should return result successfully Should delete active number successfully ✔ Should return result successfully #updateActiveNumber Should update active number successfully ✔ Should update result successfully Should throw error while update active number ✔ Should throw error if active number is empty ✔ Should throw error if id is empty #getActiveNumbers Should get active numbers successfully ✔ Should return activeNumber successfully Should throw error while getting active number ✔ Should throw error if filter type is string ✔ Db should thrrow error #ActivityController #getActivities should get activities successfully ✔ should return activities should throw an error while getting activities ✔ should return bad request if Work Email not provided ✔ should handle error if activityService.getActivities fails #getActivitiesDropdown should get activities dropdown successfully ✔ should return activities dropdown should not get activities dropdown ✔ should return bad request if Work Email not provided ✔ should handle error if activityService.getActivitiesDropdown fails #ActivityService #addActivity will add all activities ✔ should add all activities successfully ✔ should add all activities successfully when userId not provided and function correctly falls back to settings.BOT_USER_ID for createdBy and updatedBy should throw an error while adding activities ✔ Because 'campaign not Found' ✔ Because 'prospect not Found' ✔ if campaign findOne fails ✔ if prospect findOne fails ✔ if activity create fails ✔ should handle validation Uuid error #getActivitiesDropdown should get activities dropdown ✔ should return unique activities successfully and filter out duplicates when transaction is passed should rollback transaction if an error occurs ✔ should throw an error if activity findall fails #getActivities when getActivities function is called with valid inputs ✔ should return activities and counts successfully should rollback transaction if an error occurs ✔ should throw BadRequest if filter is invalid JSON ✔ if activity findAndCountAll fails ✔ if activity findAll fails #authController verify jwt when verification of jwt successful when verification of jwt successful ✔ should verify jwt successfully when verification of jwt throws an error ✔ should getExpirationTimestamp gives Error ✔ should getVerifiedJWT gives Error ✔ should throw Error when db reject the request ✔ should throw Error when cookies are not present ✔ should throw BadRequest Error signup - to signup a user Check if Signed up successfully ✔ Should run successfully Check if throws Error ✔ Should throw BadRequest Error logout when logout sucessfully ✔ should logout sucessfully while logout and error occur ✔ logout error occur callback Callback function should successful 1) should handle callback successful 2) should handle callback successful with no branches ✔ should handle callback unverified email successful Should Not CallBack ✔ Because idToken is not present ✔ Because service throws db error AuthService #signup Should SignUp ✔ SignUp Process In On Going ✔ SignUp Process In On Going Should Not SignUp ✔ Because Create Function Of auth0Client Model Throws Error ✔ Because Create Function Of auth0Client Model Throws Error ✔ Because Create Function Of User Model Throws Error As SequelizeUniqueConstraintError ✔ Because Create Function Of User Model Throws Error ✔ Because addAuth0BDRRole Throws Error #verify Should Verify ✔ Verify Process In On Going Should Not Verify ✔ Because User Is Already Verified ✔ Because User OTP Is Not Set In DB ✔ Because Rows Are Not Updated ✔ Because Auth0 Update Function Throws Error ✔ Because update function Throws Error ✔ Because findByPk function Throws Error #_createORGetUser Should Create or Get User ✔ Create or Get User Process In On Going Should Not Create or Get User ✔ Because Find By PK Throws Error ✔ Because Create Throws Error #callback Should Callback AssertionError: You Have Changed Something In Final Response: expected true to deeply equal undefined at /workspace/test/unit/components/auth/services/auth.spec.js:522:95 { showDiff: true, actual: true, expected: undefined, operator: 'strictEqual' } 3) Callback Process In On Going AssertionError: You Have Changed Something In Final Response: expected true to deeply equal undefined at /workspace/test/unit/components/auth/services/auth.spec.js:541:95 { showDiff: true, actual: true, expected: undefined, operator: 'strictEqual' } 4) Callback Process In On Going with email verified ✔ Callback Process In On Going with email verified but no otp Should Not Callback ✔ Because Find By PK Throws Error ✔ Because Update Throws Error #_addAuth0BDRRole Should add Auth0 BDR Role ✔ add Auth0 BDR Role #callStatusController getCallStatus- Get call status when getting call status successfully ✔ should get call status sucessfully while getting call status occurs error ✔ should throw Error when db reject the request # call Service getCallStatus - get call Status when retrieving call status successfully ✔ should retrieve call status successfully #Campaign Controller #getCampaign Should get campaign successfully ✔ Should return res status 200 Should not get campaign ✔ Should throw database error #checkValidCampaign Should check valid campaign successfully ✔ Should return status code 200 successfully Should throw error while check valid campaign ✔ Should throw error from data base ✔ Should throw error when validateUuid fails #getCampaignById Should get campaign by id ✔ Should return status code 200 Should throw error while getting campaign by id ✔ Should throw when getCampaignById fails #getCampaignAutoAlertTime Should get campaign auto alert time successfully ✔ Should return status code 200 Should throw error while getting campaign auto alert time ✔ Should throw data base error ✔ Should throw error when validateUuid fails #addCampaign Should add campaign successfully ✔ Should return status code 200 when campaign is added successfully ✔ Should return status code 400 when required fields are missing Should throw error while add campaign ✔ Should return an error when user does not have permission ✔ Should handle validation UUID error ✔ Should handle removeNullKeysInObj error ✔ Should handle validateObject error ✔ Should handle addCampaign error #updateCampaign should update campaign successfully ✔ Should return status code 200 and success message when campaign is updated should handle errors while updating campaign ✔ Should call next with error when updateCampaign throws an error ✔ Should call next with error when user does not have MANAGER role ✔ Should call next with error when validateUuid throws an error #isSurveyIdValid Should check is survey id is valid or not ✔ Should return status code 200 when isSurveyIdValid: true ✔ Should return status code 200 when isSurveyIdValid: false Should Throw error while checking is survey id is valid or not ✔ Should handle error when fails #patchCampaign Should patch campaign successfully ✔ Should return status code 200 and success message when campaign is updated Should throw error while patching campaign successfully ✔ Should call next with error when patchCampaign throws an error ✔ Should call next with error when validateUuid throws an error ✔ Should call next with error when user does not have MANAGER role #deleteCampaign Should delete campaign successfully ✔ Should return status code 200 and success message when campaign is deleted Should throw error while deleting campaign ✔ Should call next with error when deleteCampaign throws an error ✔ Should call next with error when deleteCampaign throws an error ✔ Should call next with error when user does not have MANAGER role #getCampaignQuestionsById Should get campaign questions by id successfully ✔ Should return status code 200 and questions when campaign is found Should throw error while getting campaign questions by id ✔ Should call next with error when getCampaignById throws an error ✔ Should call next with error when processAndReturnTypeFormQuestions throws an error #sendReport Should send report successfully ✔ Should return status code 200 Should throw error while sending report ✔ Should throw database error ✔ Should throw error when sendReport fails ✔ Should throw error when meetingInvitePendingEmail fails #getCampaignByCampaignName Should get campaign by campaign name ✔ should get campaign by campaign name successfully Should handle error if fails ✔ should throw error when getCampaignByCampaignName fails #CampaignService #getCampaign when called with valid parameters 5) should return rows and counts successfully error while getting campaign ✔ Should throw error when attributes are invalid JSON ✔ Should throw error when sort is invalid ✔ when an error occurs during execution ✔ should throw BadRequest error when filter is invalid JSON ✔ should throw an error when parseLimitAndOffset fails ✔ should throw an error when validateSort fails ✔ should throw an error when buildOrderClause fails ✔ should throw an error when buildWhereClause fails ✔ should throw an error when Campaign.findAndCountAll fails ✔ should throw an error when sequelize.query fails #checkValidCampaign Should check for valid campaign successfully ✔ should return isValid as true if campaign is active ✔ should return isValid as false if campaign is inactive Should throw error while checking for valid campaign ✔ Should throw NotFound error when campaign is not found ✔ Should throw error from data base #getCampaignAutoAlertTime Should get Campaign Auto Alert Time successfully ✔ should return campaign when found ✔ should return null when campaign is not found Should throw error while getting Campaign Auto Alert Time ✔ should rollback transaction and throw error on query error #getCampaignById Should get campaign by id successfully ✔ should return campaign when found ✔ should return null when campaign is not found Should throw error while getting campaign by id successfully ✔ should rollback transaction and throw error on query error #patchCampaign when campaign update is successful ✔ should update campaign and commit transaction ✔ should send paused email if isActiveQualification is false ✔ should send resumed email if isActiveQualification is true Should throw error while updating campaign ✔ should throw error when campaign update fails ✔ should throw error when campaign findOne fails ✔ should throw error when emailer.campaignPaused fails ✔ should throw error when emailer.campaignResume fails #deleteCampaign when campaign deletion is successful ✔ should delete the campaign and commit the transaction Should throw error during campaign deletion ✔ should throw a BadRequest error when campaign has prospects added ✔ should throw the error if Campaign.findOne fails ✔ should throw the error if Campaign.destroy fails ✔ should throw a BadRequest error when child campaign exists #sendReport when sending report is successful ✔ should send the campaign report email and commit the transaction Should throw error while sending the report ✔ should rollback the transaction and throw the error when Campaign.findAll ✔ should rollback the transaction and throw the error when emailer.campaignReport #meetingInvitePendingEmail when emails are sent successfully ✔ should send emails and commit the transaction when an error occurs during meeting Invite Pending Email ✔ should rollback the transaction if an error occurs while ProspectCampaignData.findAll #processAndReturnTypeFormQuestions Should process and return type form questions ✔ should return questions when API call is successful Should throw error while processing and returing type form questions ✔ should throw BadRequest error when formId is empty ✔ should throw an error when API call fails #getCampaignByCampaignName successfully fetch campaign by campaign name ✔ should return campaign when valid campaign names are provided ✔ should return an empty list when the campaign name list is empty should rollback the transaction if an error occurs in finding the campaign name ✔ error occurs during the campaign name fetch ✔ an error occurs during the product ID fetch #updateCampaign Should throw error while returning updatedCampaign ✔ Should throw error if Campaign.findOne fails ✔ Should throw error if name already exist #addCampaign - add-campaign when add campaign successfully ✔ should prospect create successfully while adding campaign throws an error occur ✔ should throw an error 'Name already exist ✔ should throw an error when Campaign.findOne fails ✔ should throw an error when convertStringToArray fails ✔ should throw validation error and delete files from GCP successfully ✔ should throw an error when emailer.addCampaign fails ✔ should throw an error when jobService.updateJob fails ✔ should throw an error when Campaign.create fails ✔ should throw an error when Product.findOne fails ✔ should throw badrequest error for deleting job and file #chatController addMessage- add message when message added successfully ✔ should add message successfully when adding message and error occur ✔ unmarshalBody throws error ✔ validateUuid throws error ✔ should throw Error when db reject the request getAllMessage- get all message successfully when getting all message successfully ✔ should add message successfully when getting message and error occur ✔ should throw Error when db reject the request ✔ should throw Error when db reject the request createConversation- create conversation successfully when creating conversation successfully ✔ should create conversation successfully when getting message and error occur ✔ should throw Error when db reject the request ✔ unmarshalBody throws error ✔ validateUuid throws error #chat Service addMessage - add messages when adding message successfully ✔ should add messsages successfully when adding message an error occur ✔ generateConversationUUIDv4 throws error ✔ checkIsBdrById throws error ✔ getConversationById throws error createConversation - create a conversation when creating conversation successfully inside createConversation ✔ should conversation created successfully when creating conversation an error occur inside createConversation ✔ generateConversationUUIDv4 throws error inside createConversation ✔ db throws error getAllMessage - get all message when getting all messages successfully ✔ should get all messages successfully when geeting all messages an error occur ✔ prospect findOne throws error ✔ sequalize query throws error getConversationById - get conversation by id when getting conversation by id successfully ✔ should get all messages successfully when geeting conversation by id an error occur ✔ prospect findByPk throws error checkIsBdrById - checking bdr by id when checking bdr by id successfully ✔ should get all messages successfully when checking bdr by id an error occur ✔ user findOne throws error #clientTeamMember Controller #getClientTeamMembers Should get client team members successfully ✔ Should return status 200 Should throw error while get client team members ✔ Should throw error if sort type is string ✔ Should throw error from database #getClientTeamMemberById Should get client team member by id successfully ✔ Should return status code ok Should throw error while get client team member by id ✔ Should throw database error #addClientTeamMember Should add client member successfully ✔ Should add client team member successfully Should throw error while add client team member ✔ Should throw error when user role is not MANAGER ✔ Should return 400 if required fields are missing ✔ Should return 400 if any required columns are missing #updateClientTeamMember Should update client member successfully ✔ Should update client team member successfully Should throw error while updating client member ✔ Should throw error when user role is not MANAGER ✔ Should return 400 if required fields are missing ✔ Should handle internal server errors gracefully ✔ Should throw error if result is empty #deleteClientTeamMember Should delete client member successfully ✔ Should delete client team member successfully Should throw error while delete client member ✔ Should throw error when user role is not MANAGER ✔ Should handle non-existent client team member gracefully ✔ Should handle internal server errors gracefully #ClientTeamMemberService #getClientTeamMembers Should get client team members successfully ✔ Should return clients successfully Should throw error while getting client team members SyntaxError: Unexpected token 'i', "invalid json" is not valid JSON at JSON.parse () at ClientTeamMemberService.getClientTeamMembers (/workspace/components/client-team-member/services/client-team-member.js:3:138) ✔ Should handle filter parsing error ✔ Should rollback transaction on error #getClientTeamMemberById When client team member exists ✔ Should return existing client team member When client team member does not exist ✔ Should throw error "Client team member does not exist." #getClientTeamMemberByEmail Should get client team member by email ✔ should return existingClientTeam successfully Should throw error while getting client team members by email ✔ Should throw database error #addClientTeamMember Should add client team member successfully ✔ Should return client team member successfully #Should throw error while add client team member ✔ Should throw error from database #updateClientTeamMember Should update client team member successfully ✔ Should return result successfully Should throw error while updating client team member ✔ Should throw db error #deleteClientTeamMember Should delete client team member successfully ✔ Should return result successfully Should throw error while deleting client team member ✔ Should throw database error #callStatusController addContactUs- add contact us when adding contact us successfully ✔ should add contact-us successfully when adding contact us error occur ✔ should throw error when body is empty ✔ should throw Error when db reject the request ✔ should throw error when body has missing column # addContactUs Service addContactUs - add contact-us when adding contact-us successfully ✔ should retrieve call status successfully when adding contact-us error occurs ✔ contactUs create throws error ✔ emailer throws error #delivery-target controller #getDeliveryTargets Should get delivery targets successfully ✔ Should return status code 200 successfully Should throw error ✔ Should return status code 400 for invalid sort JSON ✔ Should return status code 400 for invalid sort value ✔ Should call next with error if something goes wrong #updateDeliveryTarget Should update delivery targets successfully ✔ Should return status code 200 and success message on successful update Should not update delivery targets ✔ Should return status code 400 for missing or invalid mql data ✔ Should return status code 400 for missing or invalid sql data ✔ Should return status code 400 for missing or invalid hql data ✔ Should call next with BadRequest error if user role is not MANAGER #delivery-target service #getDeliveryTargets Should get delivery target successfully ✔ Should return delivery target array successfully Should not get delivery target ✔ Db should throw error #updateDeliveryTarget Should update delivery target successfully ✔ Should return result ✔ Should not update delivery target #deleteDeliveryTarget Should delete delivery target successfully ✔ Should return result Should not return result ✔ Should throw db error #createTargetsObjectsFromProductId ✔ Should create target objects from products and user ID #addDeliveryTarget Should add delivery target successfully ✔ Should commit transaction and return result Should throw error while add delivery target ✔ Should throw db error #domainController getDomain- Get domain when getting domain successfully ✔ should get domain sucessfully while getting domain occurs error ✔ should throw Error when db reject the request # Domain Service getDomain - get domain when retrieving domain successfully ✔ should retrieve domain successfully when retrieving domain error occur ✔ filterArrayByValue throws error ✔ parseLimitAndOffset throws error ✔ addIndexToArray throws error #employeeSizeController getEmployeeSize- Get employee size when getting employee size successfully ✔ should get employee size successfully while getting employee size gets an error ✔ should throw Error when the database rejects the request #Employee-Size Service getEmployeeSize - get employee size when retrieving employee size successfully ✔ should retrieve employee size successfully when retrieving employee size error occur ✔ filterArrayByValue throws error ✔ parseLimitAndOffset throws error ✔ addIndexToArray throws error #fileController uploadFile - upload a file upload file successfully ✔ should upload file upload throw error ✔ should throw error upload File access denied deleteFile - delete a file delete file successfully ✔ should delete file delete throw error ✔ should throw error internal server error #fileService uploadFile - upload file upload a file successfully ✔ should upload file successfully ✔ should different file format successfully uploading a file throws error ✔ should throw error Amount should be greater then zero ✔ should throw error Invalid file format ✔ should throw error bad request: job build error ✔ should throw error bad request: file build error createFile - create a file create a file successfully ✔ should create file successfully uploading a file throws error ✔ should throw error could not create getFileByJobId - get file by job Id get file successfully ✔ should get file successfully get a file throws error ✔ should throw error could not find one deleteFile - delete file delete file successfully ✔ should delete file successfully delete file throws error ✔ should throw error File does not exist #attributeHandler buildAttributeClause - builds the attribute clause buildAttributeClause should run successfully ✔ should buildAttributeClause successfully buildAttributeClause must throw errors ✔ should throw Error not a array ✔ should throw Error not a array of string ✔ should throw Error not mapping must be obj #filterHandler checkType - check type of data check types successfully ✔ should check string type successfully ✔ should check array type successfully ✔ should check object type successfully check types unsuccessful ✔ should return false validate - validate the data validate successfully ✔ should validate without errors successfully validate throws errors ✔ should throw errors The filter value type is not an object ✔ should throw errors Filter will not be applied across this column ✔ should throw errors Column value type is not an object ✔ should throw errors column operator is incorrect ✔ should throw errors value isNull ✔ should throw errors Column value is incorrect ✔ should throw errors column value type is incorrect ✔ should throw errors Column value is incorrect processFilter - processing the filter process filter successfully ✔ should process Filter `LIKE` successfully ✔ should process Filter `GTE` successfully ✔ should process Filter `LT` successfully ✔ should process Filter `GT` successfully ✔ should process Filter `IN` successfully ✔ should process Filter `BTW` successfully ✔ should process Filter `ISNULL` successfully ✔ should process Filter `TOKEN` successfully ✔ should process Filter `default` successfully processFilter throws errors ✔ should throw errors Invalid value for BTW operator buildWhereClause - build where clause build where clause successfully ✔ should build Where Clause for `LIKE` successfully ✔ should build Where Clause for `LT` successfully ✔ should build Where Clause for `GT` successfully ✔ should build Where Clause for `IN` successfully ✔ should build Where Clause for `BTW` successfully ✔ should build Where Clause for `BTW` date successfully ✔ should build Where Clause for DATE successfully ✔ should build Where Clause for `ISNULL=false` successfully ✔ should build Where Clause for `ISNULL=true` successfully ✔ should build Where Clause for `LTE` successfully ✔ should build Where Clause for `GTE` successfully ✔ should build Where Clause for `TOKEN` successfully ✔ should build Where Clause for `=` successfully buildWhereClause throws errors ✔ should throw error #paginateHandler paginate - build pagination paginate should run successfully ✔ should paginate successfully #sortHandler validateSort - validating sort validateSort should run successfully ✔ should validateSort successfully validateSort must throw errors ✔ should throw Error The sort value type is not an object ✔ should throw Error Sort will not be applied across this column ✔ should throw Error Sort will not be applied to multiple columns at a time ✔ should throw Error Sort value must be 'asc' or' desc' customOrder - custom order customOrder should run successfully ✔ should customOrder successfully buildOrderClause - build Order Clause buildOrderClause should run successfully ✔ should build Order Clause successfully #industryController getIndustry- Get industry when geting industry successfully ✔ should get industry sucessfully while getting industry occurs error ✔ should throw Error when db reject the request #industry Service getIndustry - get industry when retrieving industry successfully ✔ should retrieve industry successfully #jobDepartmentController getJobDepartment- Get job department geting job department successfully ✔ should get job department sucessfully getting job department occurs error ✔ should throw Error when db reject the request #jobDepartmentService getJobDepartment - get job department retrieving job department successfully ✔ should retrieve job department successfully retrieving job department error occur ✔ filterArrayByValue throws error ✔ parseLimitAndOffset throws error ✔ addIndexToArray throws error #getJobLevelController getJobLevel- Get Job level when geting job level successfully ✔ should get job level sucessfully while getting JobLevel occurs error ✔ should throw Error when db reject the request #Job-Level Service getJobLevel - get job level when retrieving job level successfully ✔ should retrieve job level successfully when retrieving job level error occur ✔ filterArrayByValue throws error ✔ parseLimitAndOffset throws error ✔ addIndexToArray throws error #jobService getJobs - get jobs retrieving jobs successfully ✔ should retrieve jobs successfully retrieving jobs error occur ✔ should throw Error unable to parse attributes ✔ should throw Error unable to apply sort ✔ should throw Error unable to parse filter ✔ should throw Error invalid sort applied getSignedUrl - get Signed Url retrieving Signed Url successfully ✔ should retrieve Signed Url import successfully ✔ should retrieve Signed Url export successfully retrieving Signed Url error occur ✔ should throw Error unable to parse attributes addJob - add job adding job successfully ✔ should add job successfully adding job error occur ✔ should throw Error internal server Error updateJob - add job update Job successfully ✔ should update job successfully update job error occur ✔ should throw Error internal server Error #meeting-status controller getMeetingStatus getMeetingStatus is completed successfully ✔ should return status code Ok getMeetingStatus should throw error ✔ should throw error from db updateMeetingStatus updateMeetingStatus is completed successfully 6) should return status code Ok AssertionError: getMeetingStatus argument is modified: expected [ { …(2) } ] to deeply equal [ Array(1) ] at /workspace/test/unit/components/meeting-status/controllers/meeting-status.spec.js:189:90 { showDiff: true, actual: '[\n' + ' {\n' + ' "logger": {\n' + ' "debug": [Function]\n' + ' "error": [Function]\n' + ' "info": [Function]\n' + ' "warn": [Function]\n' + ' }\n' + ' "prospectCampaignDataId": "prospectCampaignDataId"\n' + ' }\n' + ']', expected: '[\n {\n "prospectCampaignDataId": "prospectCampaignDataId"\n }\n]', operator: 'deepStrictEqual' } error updateMeetingStatus should throw error ✔ should throw error from db #meeting-status service #updateMeetingStatus updateMeetingStatus should return successfully 7) should return success message for accepted invite 8) should return message for pending invite 9) should return message for declined invite updateMeetingStatus should throw error 10) should return error message if no matching event found #hasMatchWithResponseStatus hasMatchWithResponseStatus should return successfully { subject: 'CampaignName Meeting', attendees: [ { emailAddress: [Object], status: [Object] } ], start: { dateTime: '2024-01-01T00:00:00' } } [ { emailAddress: { address: 'email@example.com' }, status: { response: 'accepted' } } ] ✔ should return matching event and status when found { subject: 'CampaignName Meeting', attendees: [ { emailAddress: [Object], status: [Object] } ], start: { dateTime: '2024-01-01T00:00:00' } } [ { emailAddress: { address: 'email@example.com' }, status: { response: 'accepted' } } ] { subject: 'Other Meeting', attendees: [ { emailAddress: [Object], status: [Object] } ], start: { dateTime: '2024-02-01T00:00:00' } } [ { emailAddress: { address: 'other@example.com' }, status: { response: 'declined' } } ] ✔ should return no match when no matching event found { subject: 'CampaignName Meeting', attendees: [ { emailAddress: [Object], status: [Object] } ], start: { dateTime: '2024-01-01T00:00:00' } } [ { emailAddress: { address: 'email@example.com' }, status: { response: 'accepted' } } ] { subject: 'Other Meeting', attendees: [ { emailAddress: [Object], status: [Object] } ], start: { dateTime: '2024-02-01T00:00:00' } } [ { emailAddress: { address: 'other@example.com' }, status: { response: 'declined' } } ] ✔ should return no match when no matching campaign name #getEvents getEvents should return successfully ✔ should return events from Microsoft Graph API #pingController #get #get should run successfully ✔ Should return status 200 #get should handle errors ✔ Should call next with an error #pingSecured #pingSecured should run successfully ✔ Should return status 200 #pingSecured should handle errors ✔ Should call next with an error PingService #get #get should return successfully ✔ should return empty object #ProductController - Unit testing Product Controller #addProducts Will Add All Product ✔ should Add All Products Will Not Add Products ✔ should Not Add All Products Because Add Product Throws Error ✔ should throw error because information provided is in the correct format ✔ should throw error as required Product Is Missing #deleteProducts Will Delete All Products ✔ should Delete All Products Will Not Delete Products ✔ should Not Delete All Products Because Delete Product Throws Error ✔ should throw error because information provided is not in the correct format ✔ should throw error as required Product Is Missing #product-service #findProductsNotInExistingList Finds Products Which Does Not Exist In The List 11) should Finds Products Which Does Not Exist In The List Will Not Fetch Products Which Does Not Exist In The List ✔ Because productNames must be an array of strings ✔ Because existingProducts must be an array of objects with a `name` property #findProductsNotExistingInDB Finds Products Which Do Not Exist In The DB ✔ should find products which do not exist in the DB Will Not Fetch Products Which Do Not Exist In The DB ✔ Because productNames must be an array of strings ✔ Because existingProducts must be an array of objects with a `name` property #findMissingProductNames Finds Missing Product Names ✔ should find product names that are missing from the given product names list Will Not Fetch Missing Product Names ✔ Because productNames must be an array of strings ✔ Because existingProducts must be an array of objects with a `name` property #createProductObjectsFromNames Creates Product Objects From Names ✔ should create product objects with the given names, clientId, and userId Will Not Create Product Objects ✔ Because products must be an array of strings ✔ Because clientId and userId must be defined #getExistingProductNamesByClientId Gets Existing Product Using Client Id ✔ should Fetch Existing Product Using Client Id Will Not Fetch Existing Product Using Client Id ✔ Because findAll Method of Product Model Throws Error #addProducts Add Products ✔ should Add Products Will Not Add Products ✔ Because addDeliveryTarget Throws Error ✔ Because bulkCreate Throws Error ✔ Because createProductObjectsFromNames Throws Error ✔ Because findProductsNotInExistingList Throws Error #getProductForGivenClientId Should Fetch Product For Given Client Id ✔ Fetching Product For Given Client Id Should Not Fetch Product For Given Client Id ✔ Because findAll Throws Error ✔ Because buildOrderClause Throws Error ✔ Because buildAttributeClause Throws Error #getProductsId Should get Products Id ✔ Fetching Products By Id Will Not get Products Id ✔ Because findAll Throws Error ✔ Because initializeTransaction Throws Error #deleteProducts Should delete Products ✔ Deleting Products By Id Should Not delete Products ✔ Because destroy function of model Throws Error ✔ Because deleteDeliveryTarget Throws Error ✔ Because getProductsId Throws Error ✔ Because initializeTransaction Throws Error #getProductsNamesByClientId Should get Products Names By ClientId ✔ Fetching Products By clientId Should Not Fetch Products By clientId ✔ Because findAll function of model Throws Error #getProductsCampaigns Should get Products Campaigns by product names ✔ Fetching Products Campaigns by product names Should not fetch Products Campaigns by product names ✔ Because findAll function of model throws error #updateProductsForClient Should update products for client successfully ✔ Updating products for client Should not update products due to existing campaigns ✔ Should throw error due to existing campaigns Controller-#prospect-call-logs getProspectCallLogs Will Get All Prospect Call Logs ✔ should get all prospect call logs ✔ should get all prospect call logs with applied sort Will Not Get All Prospect Call Logs ✔ because sort is not a valid data type ✔ because getProspectCallLogs throws error ✔ because validateSort throws error addProspectCallLogs Will Add Prospect Call Logs ✔ should get all prospect call logs Will Not Add Prospect Call Logs ✔ Because You Are Not Bdr ✔ Because prospectCallLog Is Not Present ✔ Because Missing Columns Are Not Present ✔ Because validateUuid Throws Error onFirstCall ✔ Because validateUuid Throws Error onSecondCall ✔ Because removeNullKeysInObj Throws Error ✔ Because validateObject Throws Error ✔ Because addProspectCallLogs Throws Error updateProspectCallLogs Will Update Prospect Call Logs ✔ should update a prospect call log successfully Will Not Update Prospect Call Logs ✔ Because User Is Not BDR ✔ Because prospectCallLog Is Not Present ✔ Because validateUuid Throws Error onFirstCall ✔ Because validateUuid Throws Error onSecondCall ✔ Because removeNullKeysInObj Throws Error ✔ Because updateProspectCallLogs Throws Error ✔ Because could not update Prospect call log. deleteProspectCallLog Will Delete Prospect Call Log ✔ should delete a prospect call log successfully Will Not Delete Prospect Call Log ✔ Because User Is Not BDR ✔ Because validateUuid Throws Error When Called For First Time ✔ Because validateUuid Throws Error When Called For Second Time ✔ Because deleteProspectCallLog Throws Error updateProspectCallRecordingURI Will update Prospect Call Recording URI ✔ should update Prospect Call Recording URI Will Not update Prospect Call Recording URI ✔ Because Prospect Call Log does not exist. ✔ Because updateProspectCallRecordingURI throws Error #ProspectCallLogService getProspectCallLogs - get prospect call log get prospect call log successfully ✔ should get prospect call logd details successfully while getting prospect-call-log an error occur ✔ buildWhereClause throws error ✔ Prospect-Call-Log findAndCountAll throws error addProspectCallLogs - add prospect call log add prospect call log successfully ✔ should add prospect call log added successfully while adding prospect-call-log an error occur ✔ while adding prospect-call-log create throws error updateProspectCallLogs - update prospect call log update prospect-call-log successfully ✔ should update prospect-call-log added successfully while updating prospect-call-log an error occur ✔ while updating prospect-call-log create throws error deleteProspectCallLogs - delete prospect-call-log delete prospect-call-log successfully ✔ should update prospect-call-log added successfully while updating prospect-call-log an error occur ✔ while delete prospect-call-log throws error updateProspectCallLogs - update prospect call log update prospect-call-log successfully ✔ should update prospect-call-log added successfully while updating prospect-call-log an error occur ✔ while updating prospect-call-log create throws error #ProspectCampaignService createExportFileInDB - creating export file in db when creating and exporting file in db successfully ✔ should createExportFileInDb successfully while crating and export file in db throws an error occur ✔ job create throws error ✔ file create throws error deleteExportFileInDB - deleting export file in db when deleting exporting file in db successfully ✔ should createExportFileInDb successfully while deleting export file in db throws an error occur ✔ job destroy throws error ✔ file destroy throws error addProspectCampaignData - add prospect campaign data when adding prospect-campaign-data successfully ✔ should createExportFileInDb successfully while adding export file in db throws an error occur ✔ handleProspectAddUpdate throws error ✔ getCampaignById throws error ✔ handleProspectCampaignDataAddUpdate throws error handleProspectAddUpdate - prospect adding and update when prospect adding and updating prospect successfully ✔ should createExportFileInDb successfully ✔ should call createProspect if prospect is not present when prospect adding and updating prospect throws an error occur ✔ prospect findOne throws error ✔ prospect update throws error ✔ while generating columns an error occur ✔ while create Prospect an error occur handleProspectCampaignDataAddUpdate - prospect campaign data add and update when prospect campaign data adding and updating successfully ✔ should prospect campaign data add and update successfully ✔ Should create prospectCampaignData if not found when prospect-campaign-data adding and updating throws an error occur ✔ prospectTrackingDetail findOne throws error ✔ prospectCampaignData findOne throws error ✔ ProspectCampaignData create throws error ✔ activityService addActivity throws error getProspectCampaignDataById - get prospect campaign data by id when getting prospect campaign data by id successfully ✔ should prospect campaign data get successfully when get prospect campaign data by id throws an error occur ✔ prospectCampaignData findOne throws error ✔ prospectCampaignData findAll throws error getProspectDetailProspectByCampaignDataById when getting prospectDetailProspectByCampaignDataById successfully ✔ should getProspectDetailProspectByCampaignDataById successfully when getProspectDetailProspectByCampaignDataById throws an error occur ✔ prospectCampaignData findOne throws error ✔ should throws error if prospectCampaignData not found updateProspectEmailOpened - updating prospect email whether it is open or not when updating prospect email open successfully ✔ should updateProspectEmailOpened successfully when updateProspectEmailOpened throws an error occur ✔ prospectCampaignData findOne throws error ✔ prospectCampaignData update throws error ✔ should throws error if ProspectCampaignData not found getProspectCampaignDataByIdWithProspect - get prospect campaign data by id with respect to prospect when get prospect campaign data by id with respect to prospect successfully ✔ should get prospect campaign data by id with respect to prospect successfully when get prospect campaign data by id with respect to prospect throws an error occur ✔ prospectCampaignData findOne throws error getProspectWithSameDomain - get prospect with same domain when get prospect with same domain successfully ✔ should get prospect campaign data by id with respect to prospect successfully when get prospect campaign data by id with respect to prospect throws an error occur ✔ prospect findAndCountAll throws error getProspectQuestionStatus - get prospect question status when get prospect question status successfully ✔ should get prospect question status successfully when get prospect question status throws an error occur ✔ prospectCampaignData findAndCountAll throws error ✔ should throws error if prospectCampaignData not found getAssignedBdrByProspectCampaignData - get assign bdr by prospect campaign data when get assign bdr by prospect campaign data successfully ✔ should get assign bdr by prospect campaign data successfully ✔ should call Conversation.findOne if prospectCampaign not present when get assign bdr by prospect campaign data throws an error occur ✔ prospectCampaignData findOne throws error ✔ Conversation findOne throws error ✔ should throws error if prospectCampaign not found getAssignedBdr - get assign bdr when get assign bdr successfully ✔ should get assign bdr successfully when get assign bdr throws an error occur ✔ prospectCampaignData findOne throws error createProspect - create prospect when create prospect successfully ✔ should prospect create successfully while creating prospect throws an error occur ✔ extractDomain throws error ✔ generateJobColumns throws error ✔ prospect create throws error ✔ convertStringToArray throws error handleTableUpdateForProspectCampaignData When handle table update for prospect campaign data ✔ Should update for prospect campaign data successfully getProspectUnsubscribedList Should get prospect unsubscribed list successfully ✔ Should return data successfully Should throw error while getting prospect unsubscribed list ✔ Should throw database error getProspectWithSameDomain Should get prospect with same domain successfully ✔ Should return data successfully Should get prospect with same domain successfully ✔ Should return data successfully ✔ Should return data successfully updateIsOnline ✔ Should throw error if prospectCampaignDataId is null ✔ Should return prospectUpdatedStatus successfully Should update isOnline successfully ✔ Should return prospectUpdatedStatus successfully updateProspectDetailProspectByCampaignDataById updateProspectDetailProspectByCampaignDataById successfully ✔ should updateProspectDetailProspectByCampaignDataById successfully while updateProspectDetailProspectByCampaignDataById throws an error occur ✔ prospectCampaignData findOne throws error ✔ prospect findOne throws error ✔ prospect update throws error ✔ throws error when prospect campaign data not found ✔ throws error when prospect not found patchProspectCampaignData - patch-prospect-campaign data when patch-prospect-campaign data successfully ✔ should patch-prospect-campaign data successfully when patch-prospect-campaign data throws an error occur ✔ prospectCampaignData findOne throws error ✔ prospectCampaignData findOne throws error patchProspectData - patch-prospect data when patch-prospect data successfully ✔ should patch-prospect data successfully when patch-prospect data throws an error occur ✔ patchProspectData update throws error ✔ prospect id must be specified getCampaignQualificationStatus Should get campaign qualification status successfully ✔ Should return prospectCampaign successfully Should throw error while returning prospectCampaign ✔ Should throw internal server error leadsVoucherReportById Should send leads voucher report by id ✔ Should return data successfully getProspectCampaignByCampaignAndProspectId Should get prospect campaign by campaign and prospectId ✔ Should return prospectCampaign successfully Should throw error while getting prospect campaign by campaign and prospectId ✔ Should throw error if prospectCampaign is empty getProspectCampaignDataForVoucher - get prospect-campaign data for voucher when get prospect-campaign data for voucher successfully 12) when get prospect-campaign data for voucher successfully while getting prospect-campaign data for voucher an error occur ✔ prospectCampaignData findOne throws error ✔ prospectCampaignData findOne throws error updateProspectCampaignData Should update prospect camapign data successfully ✔ Should return prospectUpdatedStatus successfully ✔ Should call ProspectCampaignData.update and sendAirpodsEmail if reward type is airpod ✔ Should call allotVoucherToProspectCampaignData if prospectData.qualificationStatus === QUALIFICATION_STATUS_OBJECT.DEEP_DISQUALIFIED Should throw error while updateing prospect camapign data ✔ Should throw error if data id null ✔ Should throw internal server error processTypeFormResponse - process type form response when process type form response successfully ✔ when process type form successfully getProspectCampaignData Should get prospect campaign data successfully 13) Should return "Your download has begun. You will be notified when its complete. Should throw error while getting prospect campaign data ✔ Should throw error if attributes is string ✔ Should throw error if sort type is string ✔ Should throw error if filter type is string ✔ Should throw error if filter type is string downloadProspectCampaignData - download prospect campaign Data when download prospect campaign data successfully ✔ should downloading prospect campaign data successfully while downloading prospect campaign data throws an error occur ✔ throws error when prospect campaign data not found sendSurveyEmailToProspect Should send survey email to prospect ✔ Should return email sent to : ${emailedList} Should throw error while sending survey email to prospect ✔ Should throw error if campaign is null ✔ Should throw error if no prospect data found updateProspectEmailSubscription - updating prospect email subscription when updating prospect email subscription successfully 🚀 ~ updateProspectEmailSubscription= ~ data: { id: '519f1b3e-f415-44f1-8ef4-80a6a9236e53' } ✔ should updating prospect email subscription successfully when updateProspectEmailSubscription throws an error occur 🚀 ~ updateProspectEmailSubscription= ~ data: { id: '519f1b3e-f415-44f1-8ef4-80a6a9236e53' } ✔ if prospect not found then it throws error 🚀 ~ updateProspectEmailSubscription= ~ data: {} ✔ if Prospect ID is missing. then it throws error calculateCompositeScore - calculate composite score when calculating composite score successfully Scoring Qualification Rule - Campaign Data Id undefined ===> {"compositeScore":200,"compositeScoreFinal":200,"titleScore":{"rule":{"weight":2},"surveyTitle":"VP","calculatedScore":50},"timeSpendScore":{"rule":{"weight":3,"subParameter":"Minutes"},"timeSpend":812369.4251833333,"calculatedScore":50},"characterCount":{"rule":{"weight":1},"textQuestionCharCount":[100,200,150],"textQuestionCharScore":[50,50,50],"calculatedScore":50},"surveyResponseScore":{"rule":{"weight":4},"typeFormScore":85,"calculatedScore":50}} ✔ should calculating composite score successfully allotVoucherToProspectCampaignData Should allot voucher to prospect campaign data successfully ✔ Should call sendVoucherEmail successfully ✔ Should call sendVoucherDepletedEmail if voucher is null Should not allot voucher to prospect campaign data ✔ Should throw error if rewardAmount is empty leadsVoucherReport Should send leads voucher report successfully { sqlDbquery: `"SELECT \\n SUM(CASE WHEN \\"campaignData\\".\\"reward_type\\" = 'AIRPODS' THEN 1 ELSE 0 END) AS \\"airpods\\",\\n SUM(CASE WHEN \\"Prospect\\".\\"job_level\\" = 'Architect' THEN 1 ELSE 0 END) AS \\"architect\\",\\n SUM(CASE WHEN \\"Prospect\\".\\"job_level\\" = 'C Level' THEN 1 ELSE 0 END) AS \\"cLevel\\",\\n SUM(CASE WHEN \\"Prospect\\".\\"job_level\\" = 'Director' THEN 1 ELSE 0 END) AS \\"director\\",\\n SUM(CASE WHEN \\"Prospect\\".\\"job_level\\" = 'Manager' THEN 1 ELSE 0 END) AS \\"manager\\",\\n SUM(CASE WHEN \\"Prospect\\".\\"job_level\\" = 'Staff' THEN 1 ELSE 0 END) AS \\"staff\\",\\n SUM(CASE WHEN \\"Prospect\\".\\"job_level\\" = 'VP' THEN 1 ELSE 0 END) AS \\"vp\\",\\n SUM(v.reward_amount) AS \\"totalAmountSpent\\"\\nFROM prospects AS \\"Prospect\\"\\nINNER JOIN prospect_campaign_datas AS \\"campaignData\\" ON \\"campaignData\\".\\"work_email\\" = \\"Prospect\\".\\"work_email\\"\\nINNER JOIN campaigns c ON \\"campaignData\\".\\"campaign_id\\" = c.id \\nINNER JOIN clients client ON \\"campaignData\\".\\"client_id\\" = client.id \\n\\nLEFT JOIN vouchers v ON \\"campaignData\\".\\"voucher_id\\" = v.id\\nWHERE\\nLIMIT 1;\\n "` } ✔ Should return data successfully Should throw error while send leads voucher report ✔ Shoud throw error if filter type is string { sqlDbquery: `"SELECT \\n SUM(CASE WHEN \\"campaignData\\".\\"reward_type\\" = 'AIRPODS' THEN 1 ELSE 0 END) AS \\"airpods\\",\\n SUM(CASE WHEN \\"Prospect\\".\\"job_level\\" = 'Architect' THEN 1 ELSE 0 END) AS \\"architect\\",\\n SUM(CASE WHEN \\"Prospect\\".\\"job_level\\" = 'C Level' THEN 1 ELSE 0 END) AS \\"cLevel\\",\\n SUM(CASE WHEN \\"Prospect\\".\\"job_level\\" = 'Director' THEN 1 ELSE 0 END) AS \\"director\\",\\n SUM(CASE WHEN \\"Prospect\\".\\"job_level\\" = 'Manager' THEN 1 ELSE 0 END) AS \\"manager\\",\\n SUM(CASE WHEN \\"Prospect\\".\\"job_level\\" = 'Staff' THEN 1 ELSE 0 END) AS \\"staff\\",\\n SUM(CASE WHEN \\"Prospect\\".\\"job_level\\" = 'VP' THEN 1 ELSE 0 END) AS \\"vp\\",\\n SUM(v.reward_amount) AS \\"totalAmountSpent\\"\\nFROM prospects AS \\"Prospect\\"\\nINNER JOIN prospect_campaign_datas AS \\"campaignData\\" ON \\"campaignData\\".\\"work_email\\" = \\"Prospect\\".\\"work_email\\"\\nINNER JOIN campaigns c ON \\"campaignData\\".\\"campaign_id\\" = c.id \\nINNER JOIN clients client ON \\"campaignData\\".\\"client_id\\" = client.id \\n\\nLEFT JOIN vouchers v ON \\"campaignData\\".\\"voucher_id\\" = v.id\\nWHERE\\nLIMIT 1;\\n "` } ✔ Shoud throw internal server error calculateScore Should calculate score successfully ✔ should return correct score for "between" operator ✔ should return correct score for "=" operator ✔ should return correct score for ">" operator ✔ should return correct score for "<" operator ✔ should return value when analytics array is empty ✔ should return 0 when no conditions are met processSqlQuery Should process sql query successfully ✔ should return an empty string for invalid queries processSurveyData Should process survey data ✔ should process survey data correctly #prospectTrackingDetailsController getProspectTrackingDetails- Get prospect tracking details geting prospect tracking details successfully ✔ should get job department sucessfully getting prospect tracking deatils an occurs error ✔ should throw Error when db reject the request ✔ should throw Error if invalid filter is provided addProspectTrackingDetails- add prospect tracking details add prospect tracking details successfully ✔ should add prospect tracking details added sucessfully adding prospect tracking deatils an occurs error ✔ should throw Error when db reject the request ✔ validateUuid throws error ✔ removeNullKeysInObj throws error updateProspectTrackingDetails- update prospect tracking details update prospect tracking details successfully ✔ should update prospect tracking details added sucessfully update prospect tracking deatils an occurs error ✔ should throw Error when db reject the request ✔ validateUuid throws error ✔ unmarshalBody throws error #ProspectTrackingDetailsService getProspectTrackingDetails - get prospect tracking details get prospect tracking details successfully ✔ should get prospect tracking details successfully while getting prospect tracking details an error occur ✔ ProspectCampaignData findOne throws error ✔ ProspectTrackingDetail findOne throws error ✔ ProspectTrackingDetail findAll throws error ✔ filterHandler.buildWhereClause throws error addProspectTrackingDetails - add prospect tracking details add prospect tracking details successfully ✔ should get prospect tracking details successfully ✔ should call ProspectCampaignData update if survey.domain === prospectTrackingDetail.domain while getting prospect tracking details an error occur ✔ ProspectTrackingDetail findOne throws error ✔ ProspectCampaignData findOne throws error ✔ Campaign findOne throws error ✔ ProspectTrackingDetail create throws error ✔ if Prospect Tracking Detail Already Exists then throws error ✔ ProspectCampaignData update throws error updateProspectTrackingDetails - update prospect tracking details update prospect tracking details successfully ✔ should update prospect tracking details successfully while updating prospect tracking details an error occur ✔ ProspectTrackingDetail findOne throws error ✔ should throw an error when prospect tracking detail is not found #ProspectController #updateProspect Should update prospect successfully ✔ should update prospect successfully and return status code created updateProspect Should throw error ✔ should return 400 if prospect is missing ✔ should call next with BadRequest if user does not have manager role ✔ should call next with error if updateProspect service fails #ProspectService #updateProspect when prospect is found and updated successfully ✔ should update the prospect and commit the transaction when prospect is not found ✔ should throw a NotFound error and rollback the transaction ✔ should throw the error from db ✔ should throw error when Prospect.findOne fails #createProspectPartition success when partition tables are created for all prospects ✔ should create partition tables for all prospects and commit transaction when partition creation fails ✔ should throw an error if Prospect.findAll fails ✔ should throw an error if sequelize.query fails #QualificationStatusController getQualificationStatus - Get Qualification Status getting Qualification Status successfully ✔ should get Qualification Status successfully getting Qualification Status occurs error ✔ should throw Error when db reject the request #qualificationStatusService getQualificationStatus - get Qualification Status retrieving Qualification Status successfully ✔ should retrieve Qualification Status successfully ✔ should retrieve Qualification Status successfully with no value present #revenueRangeController getRevenueRange- Get Revenue-Range when getting revenue-range successfully ✔ should get revenue-range sucessfully while getting Revenue-Range occurs error ✔ should throw Error when db reject the request #Revenue-range Service getRevenueRange - get revenue range when retrieving revenue-range successfully ✔ should retrieve revenue-range successfully when retrieving revenue-range error occur ✔ filterArrayByValue throws error ✔ parseLimitAndOffset throws error ✔ addIndexToArray throws error Reward Controller getRewards Will Get All Rewards ✔ should Add All Products ✔ should Add All Products with applied filters and sort Will Not Get All Rewards ✔ Because Sort Is Not A validate Data Type ✔ Because getRewards Throws Error ✔ Because buildOrderClause Throws Error ✔ Because validateUuid Throws Error ✔ Because parseLimitAndOffset Throws Error getRewardAmounts Will Get All Reward Amounts ✔ should get all reward amounts Will Not Get All Reward Amounts ✔ Because validateUuid Throws Error ✔ Because parseLimitAndOffset Throws Error ✔ Because getRewardAmounts Throws Error updateRestockLevel Will Update Restock Level ✔ should update restock level successfully Will Not Update Restock Level ✔ because updateRestockLevel throws error ✔ because removeNullKeysInObj throws error ✔ because removeUnwantedKeys throws error ✔ because unmarshalBody throws error ✔ because validateUuid throws error downloadUtilizationHistoryById Will Download Utilization History By Id ✔ should download utilization history successfully Will Not Download Utilization History By Id ✔ because downloadUtilizationHistoryById throws error ✔ because validateUuid throws error On Second Call ✔ because validateUuid throws error On First Call ✔ because download Utilization History data access deniedr Reward Service getRewards Will Get All Rewards ✔ Should Get Rewards Will Not Get All Rewards ✔ Because initializeTransaction Throws Error ✔ Because Unable To Parse Filter ✔ Because buildWhereClause Throws Error ✔ Because findAndCountAll Throws Error getRewardAmounts Will Get All Reward Amounts ✔ Should Get Reward Amounts Will Not Get All Reward Amounts ✔ Because initializeTransaction Throws Error ✔ Because findAll Throws Error getRewardById Will Get Reward By Id ✔ Should Get Reward By Id Will Not Get Reward By Id ✔ Because initializeTransaction Throws Error ✔ Because findOne Throws Error sendReport Will Send Report ✔ Should Send Report Successfully Will Not Send Report ✔ Because sequelize.transaction Throws Error ✔ Because findAll Throws Error ✔ Because vouchers Report Throws Error updateRestockLevel Will Update Restock Level ✔ Should Update Restock Level Successfully Will Not Update Restock Level ✔ Because sequelize.transaction Throws Error ✔ Should Throw Error When ID is Not Provided ✔ Because Update Throws Error downloadUtilizationHistoryById Will Download Utilization History By ID CSV file uploaded to Google Cloud Storage successfully. CSV data written to GCS successfully. ✔ Should Download Utilization History By ID Successfully Will Not Download Utilization History By ID ✔ Because Reward Not Found CSV file uploaded to Google Cloud Storage successfully. ✔ Because getSignedUrl Throws Error ✔ Because addJob Throws Error ✔ Because createFile Throws Error ✔ Because findOne Throws Error CSV file uploaded to Google Cloud Storage successfully. ✔ Because Stream Error #trackerController #updateEmail updateEmail should return image data ✔ Should return image data successfully updateEmail should throw error ✔ Should return error if result is null trackerController Should get email click tracker successfully ✔ should return status 200 and image data on successful update getEmailClickTracker should handle errors ✔ should return an error if the updateEmail operation fails #userController getUser- Get user when geting user successfully ✔ should get user sucessfully while getting user occurs error ✔ should throw Error when db reject the request sendUserOtpById- send user otp by id when sending otp to particular user successfully ✔ should otp send sucessfully while sending otp error occur ✔ should throw Error when db reject the request ✔ should throw Error when user not found ✔ should throw Error when user otp is empty getUserById- get user by id when getting particular user successfully ✔ should get user by id sucessfully while getting user by id error occur ✔ should throw Error when db reject the request updateUser- update a user when updating particular user successfully ✔ should update a user sucessfully while updating user error occur ✔ should throw error if user does not match ✔ should throw Error when db reject the request getUserRoleByEmail- get user role by email when getting user by role successfully ✔ should get user role by mail sucessfully # getUser Service getUser - get user when getting user successfully ✔ should retrieve user successfully when getting user error occur ✔ should throw error when attribute is not in json format ✔ should throw error when sort is not in json format ✔ should throw error when filter is not in json format ✔ should throw Error when db reject the request ✔ should buildWhereClause throws error ✔ should buildOrderClause throws error getUserById - get user by id when getting user by id successfully ✔ should retrieve user successfully when getting user by id error occur ✔ should throw Error when db reject the request updateUser - update user when updating user by id successfully ✔ should retrieve user successfully when updating user error occur ✔ should throw Error when db reject the request getUserRoleByEmail - get user role by mail when getting user role by mail successfully ✔ should retrieve user role by using mail successfully ✔ if user not found return user and role null ✔ if fetchedRoles length is zero then return user and role null when getting role from user mail error occur ✔ should throw Error when db reject the request Auth0 Client ✔ should create an instance of ManagementClient with correct settings Emailer #getToken Should get token successfully ✔ should fetch and store the access token ✔ should retrieve new token if current token is expired Should throw error while getting token ✔ should handle error during token retrieval #sendEmail Should send email ✔ should send email successfully Should throw error while sending email ✔ should handle error during email sending #otpEmail ✔ should send OTP email successfully #welcomeEmail Should send welcome email ✔ should send welcome email successfully Should throw error while sending wekcome email ✔ should handle error during sending welcome email #addClient Should add client successfully ✔ should send email to notify client addition Should throw error while adding client ✔ should handle error during email sending #addCampaign Should add campaign successfully ✔ should send email to notify campaign addition #campaignPaused Should pause campaign successfully ✔ should pause campaign successfully #campaignResume Should resume campaign successfully ✔ should pause campaign successfully #campaignReport Should send campaign report successfully ✔ should send campaign report successfully #vouchersReport Should send campaign report successfully ✔ should send campaign report successfully #sendQualificationBdEmail Should send campaign report successfully ✔ should send campaign report successfully #sendVoucherEmail Should send campaign report successfully ✔ should send campaign report successfully #voucherReminderEmail Should send voucher reminder email successfully ✔ should voucher reminder email successfully #sendAirpodsEmail Should send airpods email successfully ✔ should send campaign report successfully #sendSurveyEmailToProspectForAirpods Should send survey email to prospect for airpods successfully ✔ should send campaign report successfully #sendSurveyEmailToProspectForAirpods Should send survey email to prospect for airpods successfully ✔ should send campaign report successfully #sendVoucherDepletedEmail Should send voucher depleted email successfully ✔ should send campaign report successfully #addContactUs Should add contact us successfully ✔ should add contact us Transaction ✔ should initialize transaction ✔ should commit transaction ✔ should rollback transaction Array Utility Functions filterArrayByKey should be filter Array By Key sucessfully ✔ should return the filtered array based on the specified key and search term ✔ should return the original array if any required parameter is missing ✔ should return the original array if the array is not provided filterArrayByValue should be filter Array By Value sucessfully ✔ should return the filtered array based on the specified value ✔ should return the original array if any required parameter is missing ✔ should return the original array if the array is not provided addIndexToArray should be add Index To Array sucessfully ✔ should add index to each item in the array ✔ should return an empty array if the array is not provided mergeArrays should be merge Arrays sucessfully ✔ should merge arrays when a key is provided ✔ should return an empty array when no key is provided ✔ should return an empty array if data is not provided convertStringToArray with valid inputs ✔ should convert a comma-separated string to an array ✔ should convert a string with multiple separators to an array ✔ should handle strings with leading and trailing whitespace ✔ should handle strings with multiple consecutive separators with invalid inputs ✔ should return an empty array if the input string is empty ✔ should return an empty array if the input string is null ✔ should throw an error if the input string is not a string ✔ should throw an error if separators are not provided ✔ should throw an error if separators are not an array ✔ should throw an error if separators array is empty Auth Module getValidIdToken ✔ should extend token expiry by 30 days if remember is true ✔ should add lastVerified property if not present ✔ should not modify the token if conditions are not met ✔ should block user if Auth0 indicates the user is blocked getVerifiedJWT ✔ should set email_verified to true and return signed token getExpirationTimestamp ✔ should return null if remember is false ✔ should return expiration date if remember is true formatDate with valid date strings 14) should format the date correctly for a morning time with invalid date strings ✔ should return "Invalid Date" for an incorrect date format deepFreeze ✔ should freeze a simple object ✔ should freeze a nested object ✔ should freeze arrays within the object ✔ should handle objects with null values Download Service Module downloadService ✔ should call axios.post with the correct URL and payload externalServiceWithPayload ✔ should call axios.post with the correct URL and payload downloadEnqueue ✔ should create a task with the correct parameters triggerEnqueueWithPayload ✔ should create a task with the correct parameters extractDomain ✔ should extract the domain from a valid email ✔ should return null for an email without domain ✔ should return null for an invalid email generateJobColumns ✔ should process job title and determine job level and department correctly ✔ should throw an error if job title contains forbidden words ✔ should slice job title to maximum allowed characters ✔ should replace abbreviations in job title correctly ✔ should replace multiple abbreviations in job title correctly ✔ should replace common abbreviations with full words Utility Functions isPositiveInteger should be check isPositiveInteger sucessfully ✔ should return true for positive integers ✔ should return false for non-integer numbers ✔ should return false for zero and negative integers ✔ should return false for non-numeric values getUniqueNumber should get unique number sucessfully ✔ should return a unique number object utilty deepFreeze should deep freeze sucessfully ✔ should deeply freeze an object sortArraysInObject should sort array by object sucessfully ✔ should sort arrays of numbers ✔ should sort arrays of strings ✔ should not modify non-array properties hasAllKeys should return hasAllKeys sucessfully ✔ should return true if object has all keys ✔ should return false if object does not have all keys Test Suite parseLimitAndOffset ✔ should return default limit and offset if no query parameters are provided ✔ should throw an error if page is not a positive integer ✔ should throw an error if limit is not a positive integer unmarshalBody ✔ should return the body if it is not empty ✔ should throw an error if body is empty parseSelectFields ✔ should return undefined when fields is not provided ✔ should return undefined when fields is an empty string ✔ should return undefined when no allowed fields are selected ✔ should return an array of allowed fields when fields is a string ✔ should return an array of allowed fields when fields is an array parseFilterQueries ✔ should return where object as is if queryParams is falsy ✔ should apply OR conditions correctly ✔ should apply AND conditions correctly ✔ should handle a mix of AND and OR conditions createSequelizeOrder ✔ should return an empty array if no order parameters are provided ✔ should return a correctly formatted order array for ascending order ✔ should return a correctly formatted order array for descending order ✔ should return a correctly formatted order array for both ascending and descending order setXTotalCountHeader - to set x-total-count header check if X-Total-Count is set successfully ✔ should set the X-Total-Count header with the provided count #string #isEmptyString - check if is an empty string check if returns true successfully ✔ should return true for an empty string ✔ should return true for null input ✔ should return true for a string containing only whitespace characters check if returns false successfully ✔ should return false for a non-empty string #trimSpaceFromObject - trim spaces from object check if trimming space from object Successfully ✔ should trim spaces from the specified fields in the object ✔ should handle non-array fieldArray by converting it to an array check if errors are handeled ✔ should not modify the object if it is falsy ✔ should not modify the object if fieldArray is falsy ✔ should throw an error if a field value is not a string #isNonEmptyString - check if not an empty string check if true is returned successfully ✔ should return true for a non-empty string check if false is returned successfully ✔ should return false for an empty string ✔ should return false for a non-string input #removeExtraSpaces - removes extra whitespace check if removes whitespace successfully ✔ should remove extra spaces from a string #validateStringLength - validate the string length check if not throws error successfully ✔ should not throw an error for an empty string check if throws error successfully ✔ should throw entity should consist of minLength-maxLength characters ✔ should throw entityName should have atleast minLength characters ✔ should throw entityName cannot have more than maxLength characters #replaceAndWithAmpersand - replace with ampersand ✔ should replace "and" with "&" in lowercase string ✔ should handle undefined input util #flattenZodError ✔ should flatten and format Zod error correctly #generateOTP ✔ should generate OTP of specified length ✔ should generate default OTP of length 6 when no length is specified #tryCatchJsonify ✔ should execute function successfully and return result in value field ✔ should catch error and return error message in error field Utils/uuid validateUuid check if uuid is validate or not ✔ should throw an error if uuid is invalid ✔ should use "uuid" as default entity name ✔ should not throw an error if uuid is valid validateUuidInArray check uuid in array is valide or not ✔ should not throw an error if all uuids in the array are valid ✔ should treat non-array input as a single-element array isUuidValid check is uuid is valid or not ✔ should return true if uuid is valid ✔ should return false if uuid is invalid generateShortUUID check short uuid is generted or not ✔ should generate a short uuid Utility Functions getMissingKeys ✔ should return an array of missing keys ✔ should return an empty array if no keys are missing removeNullKeysInObj ✔ should return an object without null or undefined keys processMissingKeys ✔ should throw a BadRequest error with a single missing key message ✔ should throw a BadRequest error with multiple missing keys message ✔ should not throw an error if the array is empty validateObject ✔ should return an array of missing keys ✔ should return an empty array if no keys are missing removeUnwantedKeys ✔ should return an object with only the required keys removeKeysFromObject ✔ should remove specified keys from the object ✔ should throw a TypeError if the first argument is not an object ✔ should throw a TypeError if the second argument is not an array 845 passing (2s) 14 failing 1) #authController callback Callback function should successful should handle callback successful : Forbidden: This Email domain is not allowed for login. at AuthController.callback (components/auth/controllers/auth.js:121:299) 2) #authController callback Callback function should successful should handle callback successful with no branches: Forbidden: This Email domain is not allowed for login. at AuthController.callback (components/auth/controllers/auth.js:121:299) 3) AuthService #callback Should Callback Callback Process In On Going: AssertionError: You Have Changed Something In Final Response: expected true to deeply equal undefined at /workspace/test/unit/components/auth/services/auth.spec.js:522:95 4) AuthService #callback Should Callback Callback Process In On Going with email verified: AssertionError: You Have Changed Something In Final Response: expected true to deeply equal undefined at /workspace/test/unit/components/auth/services/auth.spec.js:541:95 5) #CampaignService #getCampaign when called with valid parameters should return rows and counts successfully: sequelize.query arguments is modified + expected - actual [ "\n SELECT\n COUNT(*) AS totalCampaigns,\n SUM(CASE WHEN \"Campaign\".\"is_active\" = true THEN 1 ELSE 0 END) AS activeCampaigns,\n SUM(CASE WHEN \"Campaign\".\"is_prospect_added\" = false THEN 1 ELSE 0 END) AS totalCampaignWithNoLeads,\n SUM(CASE WHEN \"Campaign\".\"is_active\" = false THEN 1 ELSE 0 END) AS inactiveCampaigns\n FROM campaigns AS \"Campaign\" \n LEFT OUTER JOIN \"campaigns\" AS \"parentCampaign\" ON \"Campaign\".\"campaign_id\" = \"parentCampaign\".\"id\"\n INNER JOIN \"clients\" AS \"clientCampaign\" ON \"Campaign\".\"client_id\" = \"clientCampaign\".\"id\" \n WHERE isActive = true LIMIT 1\n " - { - "transaction": [undefined] - } ] at /workspace/test/unit/components/campaign/services/campaign.spec.js:264:81 6) #meeting-status controller updateMeetingStatus updateMeetingStatus is completed successfully should return status code Ok: getMeetingStatus argument is modified + expected - actual [ { - "logger": { - "debug": [Function] - "error": [Function] - "info": [Function] - "warn": [Function] - } "prospectCampaignDataId": "prospectCampaignDataId" } ] at /workspace/test/unit/components/meeting-status/controllers/meeting-status.spec.js:189:90 7) #meeting-status service #updateMeetingStatus updateMeetingStatus should return successfully should return success message for accepted invite: TypeError: Cannot read properties of undefined (reading 'info') at meetingStatusService.updateMeetingStatus (components/meeting-status/services/meeting-status-service.js:2:1518) 8) #meeting-status service #updateMeetingStatus updateMeetingStatus should return successfully should return message for pending invite: TypeError: Cannot read properties of undefined (reading 'info') at meetingStatusService.updateMeetingStatus (components/meeting-status/services/meeting-status-service.js:2:1518) 9) #meeting-status service #updateMeetingStatus updateMeetingStatus should return successfully should return message for declined invite: TypeError: Cannot read properties of undefined (reading 'info') at meetingStatusService.updateMeetingStatus (components/meeting-status/services/meeting-status-service.js:2:1518) 10) #meeting-status service #updateMeetingStatus updateMeetingStatus should throw error should return error message if no matching event found: TypeError: Cannot read properties of undefined (reading 'info') at meetingStatusService.updateMeetingStatus (components/meeting-status/services/meeting-status-service.js:2:1518) 11) #product-service #findProductsNotInExistingList Finds Products Which Does Not Exist In The List should Finds Products Which Does Not Exist In The List: Error: productNames must be an array of strings at ProductService.findProductsNotInExistingList (components/product/service/product.js:10:800) at Context. (test/unit/components/product/service/product-service.spec.js:90:36) at process.processImmediate (node:internal/timers:483:21) 12) #ProspectCampaignService getProspectCampaignDataForVoucher - get prospect-campaign data for voucher when get prospect-campaign data for voucher successfully when get prospect-campaign data for voucher successfully: prospect-campaign data findOne is not called with correct arguments + expected - actual -{"raw":true,"nest":true,"where":{"id":"c916a200-57d1-416f-a358-319bcccc77a8"},"attributes":["id","workEmail","industry","revenueRange","employeeSize","meetingAt","respondedAt","qualificationStatus","invitationAcceptedStatus","voucherId","domain","surveyData","campaignId","callBackReminderAt","isOtpVerified"],"include":[{"model":{},"as":"campaign","attributes":["id","name","qualifiedRewardAmount","disqualifiedRewardAmount","rewardType","surveyTitle","features"],"required":true},{"model":{},"as":"prospect","attributes":["firstName","lastName","companyName","workEmail","personalEmail","mobileNumber","directDial"],"required":true},{"model":{},"as":"client","attributes":["id","name"],"required":true}]} +{"raw":true,"nest":true,"where":{"id":"c916a200-57d1-416f-a358-319bcccc77a8"},"attributes":["id","workEmail","industry","revenueRange","employeeSize","meetingAt","respondedAt","qualificationStatus","invitationAcceptedStatus","voucherId","domain","surveyData","campaignId","callBackReminderAt"],"include":[{"model":{},"as":"campaign","attributes":["id","name","qualifiedRewardAmount","disqualifiedRewardAmount","rewardType","surveyTitle"],"required":true},{"model":{},"as":"prospect","attributes":["firstName","lastName","companyName","workEmail","personalEmail","mobileNumber","directDial"],"required":true},{"model":{},"as":"client","attributes":["id","name"],"required":true}]} at /workspace/test/unit/components/prospect-campaign/service/prospect-campaign.spec.js:4098:23 13) #ProspectCampaignService getProspectCampaignData Should get prospect campaign data successfully Should return "Your download has begun. You will be notified when its complete.: query arguments is modified + expected - actual -["SELECT\n SUM(CASE WHEN qualification_status = 'undefined' THEN 1 ELSE 0 END) AS \"disqualifiedSentForDeepQualification\",\n SUM(CASE WHEN qualification_status = 'undefined' THEN 1 ELSE 0 END) AS \"followUp\",\n SUM(CASE WHEN qualification_status = 'AUTO_QUALIFIED' THEN 1 ELSE 0 END) AS \"autoQualifiedLeads\",\n SUM(CASE WHEN qualification_status = 'undefined' THEN 1 ELSE 0 END) AS \"autoDisqualifiedLeads\",\n SUM(CASE WHEN qualification_status = 'undefined' THEN 1 ELSE 0 END) AS \"toBeDeepQualified\",\n SUM(CASE WHEN qualification_status = 'undefined' THEN 1 ELSE 0 END) AS \"nurture\",\n SUM(CASE WHEN qualification_status = 'DEEP_QUALIFIED' THEN 1 ELSE 0 END) AS \"deepQualified\",\n SUM(CASE WHEN qualification_status = 'DEEP_DISQUALIFIED' THEN 1 ELSE 0 END) AS \"deepDisqualified\",\n SUM(CASE WHEN meeting_status = 'undefined' THEN 1 ELSE 0 END) AS \"meetingScheduled\",\n SUM(\"voucher\".\"reward_amount\") AS \"totalAmountSpent\"\n FROM prospect_campaign_datas AS \"ProspectCampaignData\"\n INNER JOIN \"clients\" AS \"client\" ON \"ProspectCampaignData\".\"client_id\" = \"client\".\"id\"\n INNER JOIN \"campaigns\" AS \"campaign\" ON \"ProspectCampaignData\".\"campaign_id\" = \"campaign\".\"id\"\n INNER JOIN \"prospects\" AS \"prospect\" ON \"ProspectCampaignData\".\"work_email\" = \"prospect\".\"work_email\"\n LEFT OUTER JOIN \"client_teams\" AS \"assignedManager\" ON \"ProspectCampaignData\".\"meeting_assign_to\" = \"assignedManager\".\"id\"\n LEFT OUTER JOIN \"users\" AS \"assignedBdr\" ON \"ProspectCampaignData\".\"assigned_response_point_bdr\" = \"assignedBdr\".\"id\"\n LEFT OUTER JOIN \"vouchers\" AS \"voucher\" ON \"ProspectCampaignData\".\"voucher_id\" = \"voucher\".\"id\"\n LIMIT 1\n ",{"transaction":{}}] +["SELECT\n SUM(CASE WHEN qualification_status = 'undefined' THEN 1 ELSE 0 END) AS \"disqualifiedSentForDeepQualification\",\n SUM(CASE WHEN qualification_status = 'undefined' THEN 1 ELSE 0 END) AS \"followUp\",\n SUM(CASE WHEN qualification_status = 'AUTO_QUALIFIED' THEN 1 ELSE 0 END) AS \"autoQualifiedLeads\",\n SUM(CASE WHEN qualification_status = 'undefined' THEN 1 ELSE 0 END) AS \"autoDisqualifiedLeads\",\n SUM(CASE WHEN qualification_status = 'undefined' THEN 1 ELSE 0 END) AS \"toBeDeepQualified\",\n SUM(CASE WHEN qualification_status = 'undefined' THEN 1 ELSE 0 END) AS \"nurture\",\n SUM(CASE WHEN qualification_status = 'DEEP_QUALIFIED' THEN 1 ELSE 0 END) AS \"deepQualified\",\n SUM(CASE WHEN qualification_status = 'DEEP_DISQUALIFIED' THEN 1 ELSE 0 END) AS \"deepDisqualified\",\n SUM(CASE WHEN meeting_status = 'undefined' THEN 1 ELSE 0 END) AS \"meetingScheduled\",\n SUM(\"voucher\".\"reward_amount\") AS \"totalAmountSpent\"\n FROM prospect_campaign_datas AS \"ProspectCampaignData\"\n INNER JOIN \"clients\" AS \"client\" ON \"ProspectCampaignData\".\"client_id\" = \"client\".\"id\"\n INNER JOIN \"campaigns\" AS \"campaign\" ON \"ProspectCampaignData\".\"campaign_id\" = \"campaign\".\"id\"\n INNER JOIN \"prospects\" AS \"prospect\" ON \"ProspectCampaignData\".\"work_email\" = \"prospect\".\"work_email\"\n LEFT OUTER JOIN \"client_teams\" AS \"assignedManager\" ON \"ProspectCampaignData\".\"meeting_assign_to\" = \"assignedManager\".\"id\"\n LEFT OUTER JOIN \"users\" AS \"assignedBdr\" ON \"ProspectCampaignData\".\"assigned_response_point_bdr\" = \"assignedBdr\".\"id\"\n LEFT OUTER JOIN \"vouchers\" AS \"voucher\" ON \"ProspectCampaignData\".\"voucher_id\" = \"voucher\".\"id\"\n LIMIT 1\n "] at /workspace/test/unit/components/prospect-campaign/service/prospect-campaign.spec.js:4747:89 14) formatDate with valid date strings should format the date correctly for a morning time: AssertionError: expected '6th June 2023 8:45 am' to equal '6th June 2023 2:15 pm' + expected - actual -6th June 2023 8:45 am +6th June 2023 2:15 pm at Context. (test/unit/utils/date.spec.js:12:25) at process.processImmediate (node:internal/timers:483:21) ---------------------------------------|---------|----------|---------|---------|------------------- File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s ---------------------------------------|---------|----------|---------|---------|------------------- All files | 88.88 | 73.56 | 84.79 | 88.93 | components/active-number/controllers | 98.79 | 90 | 100 | 98.79 | active-number.js | 98.79 | 90 | 100 | 98.79 | 367 components/active-number/services | 100 | 100 | 100 | 100 | active-number.js | 100 | 100 | 100 | 100 | components/activity/controllers | 85.18 | 78.57 | 100 | 85.18 | activity.js | 85.18 | 78.57 | 100 | 85.18 | 32-37,81-86 components/activity/services | 100 | 100 | 100 | 100 | activity.js | 100 | 100 | 100 | 100 | components/auth | 88.88 | 100 | 50 | 88.88 | validator.js | 88.88 | 100 | 50 | 88.88 | 11 components/auth/controllers | 81.25 | 53.84 | 100 | 81.25 | auth.js | 81.25 | 53.84 | 100 | 81.25 | ...44-274,278,299 components/auth/services | 100 | 88.88 | 100 | 100 | auth.js | 100 | 88.88 | 100 | 100 | 108,203 components/call-status/controllers | 100 | 100 | 100 | 100 | call-status-controller.js | 100 | 100 | 100 | 100 | components/call-status/services | 100 | 50 | 100 | 100 | call-status-service.js | 100 | 50 | 100 | 100 | 5 components/campaign/controllers | 94.54 | 100 | 92.85 | 94.54 | campaign-controller.js | 94.54 | 100 | 92.85 | 94.54 | 272-281 components/campaign/services | 88.37 | 51.42 | 94.73 | 88.23 | campaign-service.js | 88.37 | 51.42 | 94.73 | 88.23 | 225-239,484-529 components/chat/controllers | 98.03 | 50 | 100 | 98.03 | chat.js | 98.03 | 50 | 100 | 98.03 | 267 components/chat/services | 93.58 | 62.5 | 100 | 93.58 | chat.js | 93.58 | 62.5 | 100 | 93.58 | 46-60 ...nts/client-team-member/controllers | 98.24 | 88.46 | 100 | 98.24 | client-team-member.js | 98.24 | 88.46 | 100 | 98.24 | 223-225 ...onents/client-team-member/services | 98.52 | 94.44 | 100 | 98.52 | client-team-member.js | 98.52 | 94.44 | 100 | 98.52 | 146 components/contact-us/controllers | 95.45 | 75 | 100 | 95.45 | contact-us.js | 95.45 | 75 | 100 | 95.45 | 76 components/contact-us/services | 100 | 100 | 100 | 100 | contact-us.js | 100 | 100 | 100 | 100 | ...onents/delivery-target/controllers | 93.93 | 90.62 | 100 | 93.93 | delivery-target.js | 93.93 | 90.62 | 100 | 93.93 | 182,229,243,258 components/delivery-target/services | 96.15 | 83.33 | 100 | 96.15 | delivery-target.js | 96.15 | 83.33 | 100 | 96.15 | 105,154 components/domain/controllers | 100 | 100 | 100 | 100 | domain-controller.js | 100 | 100 | 100 | 100 | components/domain/services | 100 | 100 | 100 | 100 | domain-service.js | 100 | 100 | 100 | 100 | components/employee-size/controllers | 100 | 100 | 100 | 100 | employee-size-controller.js | 100 | 100 | 100 | 100 | components/employee-size/services | 100 | 100 | 100 | 100 | employee-size-service.js | 100 | 100 | 100 | 100 | components/file/controllers | 100 | 75 | 100 | 100 | file-controller.js | 100 | 75 | 100 | 100 | 122 components/file/services | 98.14 | 78.78 | 100 | 98.14 | file-service.js | 98.14 | 78.78 | 100 | 98.14 | 56,165 components/helpers | 96.87 | 85.49 | 100 | 96.61 | attributeHandler.js | 100 | 100 | 100 | 100 | filterHandler.js | 96.89 | 85.22 | 100 | 96.66 | 144-150 paginationHandler.js | 100 | 100 | 100 | 100 | sortHandler.js | 95.65 | 79.31 | 100 | 95.12 | 77-85 components/industry/controllers | 100 | 100 | 100 | 100 | industry-controller.js | 100 | 100 | 100 | 100 | components/industry/services | 100 | 50 | 100 | 100 | industry-service.js | 100 | 50 | 100 | 100 | 5 components/job-department/controllers | 100 | 100 | 100 | 100 | job-department-controller.js | 100 | 100 | 100 | 100 | components/job-department/services | 100 | 100 | 100 | 100 | job-department-service.js | 100 | 100 | 100 | 100 | components/job-level/controllers | 100 | 100 | 100 | 100 | job-level-controller.js | 100 | 100 | 100 | 100 | components/job-level/services | 100 | 100 | 100 | 100 | job-level-service.js | 100 | 100 | 100 | 100 | components/job/services | 99.13 | 72.72 | 100 | 99.13 | job.js | 99.13 | 72.72 | 100 | 99.13 | 203 components/meeting-status/controllers | 100 | 100 | 100 | 100 | meeting-status-controller.js | 100 | 100 | 100 | 100 | components/meeting-status/services | 54.9 | 30.43 | 71.42 | 53.06 | meeting-status-service.js | 54.9 | 30.43 | 71.42 | 53.06 | 18,27-84,111 components/ping/controllers | 100 | 50 | 100 | 100 | ping.js | 100 | 50 | 100 | 100 | 76 components/ping/services | 100 | 50 | 100 | 100 | ping.js | 100 | 50 | 100 | 100 | 3 components/product/controllers | 100 | 100 | 100 | 100 | product.js | 100 | 100 | 100 | 100 | components/product/service | 97.19 | 78.57 | 91.66 | 98.01 | product.js | 97.19 | 78.57 | 91.66 | 98.01 | 33-34 ...ents/prospect-call-log/controllers | 99.1 | 95.45 | 100 | 99.1 | prospect-call-log.js | 99.1 | 95.45 | 100 | 99.1 | 211 components/prospect-call-log/services | 98.07 | 90 | 100 | 98.07 | prospect-call-log.js | 98.07 | 90 | 100 | 98.07 | 62 components/prospect-campaign/services | 71.75 | 58.04 | 63.88 | 71.81 | prospect-campaign.js | 71.75 | 58.04 | 63.88 | 71.81 | ...2710-2768,2805 ...ospect-tracking-detail/controllers | 96.55 | 75 | 100 | 96.55 | prospect-tracking-detail.js | 96.55 | 75 | 100 | 96.55 | 168,206 .../prospect-tracking-detail/services | 98.57 | 72.72 | 100 | 98.57 | prospect-tracking-detail.js | 98.57 | 72.72 | 100 | 98.57 | 190 components/prospect/controllers | 81.08 | 100 | 66.66 | 81.08 | prospect.js | 81.08 | 100 | 66.66 | 81.08 | 168-175 components/prospect/services | 100 | 100 | 100 | 100 | prospect.js | 100 | 100 | 100 | 100 | ...s/qualification-status/controllers | 100 | 100 | 100 | 100 | qualification-status-controller.js | 100 | 100 | 100 | 100 | ...ents/qualification-status/services | 100 | 100 | 100 | 100 | qualification-status-service.js | 100 | 100 | 100 | 100 | components/revenue-range/controllers | 100 | 100 | 100 | 100 | revenue-range-controller.js | 100 | 100 | 100 | 100 | components/revenue-range/services | 100 | 100 | 100 | 100 | revenue-range-service.js | 100 | 100 | 100 | 100 | components/reward/controllers | 100 | 100 | 100 | 100 | reward.js | 100 | 100 | 100 | 100 | components/reward/services | 100 | 90 | 100 | 100 | reward.js | 100 | 90 | 100 | 100 | 256,290 components/tracker/controllers | 100 | 100 | 100 | 100 | tracker.js | 100 | 100 | 100 | 100 | components/user/controllers | 98.36 | 100 | 100 | 98.36 | user-controller.js | 98.36 | 100 | 100 | 98.36 | 292 components/user/services | 100 | 62.5 | 100 | 100 | user-service.js | 100 | 62.5 | 100 | 100 | 20-55 configs/settings | 91.89 | 50 | 100 | 91.89 | main.config.js | 100 | 100 | 100 | 100 | settings-config.js | 89.65 | 50 | 100 | 89.65 | 8,24,32 settings.config.development.js | 100 | 100 | 100 | 100 | constant | 100 | 100 | 100 | 100 | constants.js | 100 | 100 | 100 | 100 | emails | 72.22 | 0 | 0 | 76.47 | airpods.js | 66.66 | 100 | 0 | 100 | ...disqualification-with-giftcard.js | 60 | 100 | 0 | 60 | 4-54 ...qualification-without-giftcard.js | 60 | 100 | 0 | 60 | 4-54 ...ake-calendar-invitation-accept.js | 60 | 100 | 0 | 60 | 13-63 base.js | 75 | 0 | 0 | 100 | 3 index.js | 100 | 100 | 100 | 100 | meeting-acceptance-reminder-email.js | 60 | 100 | 0 | 60 | 12-62 prospect-survey-email-airpods.js | 66.66 | 100 | 0 | 66.66 | 8 prospect-survey-email-gift-card.js | 66.66 | 100 | 0 | 66.66 | 8 survey-completion-email.js | 60 | 100 | 0 | 60 | 4-69 voucher.js | 66.66 | 100 | 0 | 100 | emails/user | 50 | 100 | 0 | 50 | emailOtpVerification.js | 50 | 100 | 0 | 50 | 4-28 otp.js | 50 | 100 | 0 | 50 | 4-28 welcome.js | 50 | 100 | 0 | 50 | 4-58 lib | 58.92 | 43.39 | 54.34 | 58.22 | auth0Client.js | 100 | 100 | 100 | 100 | authorization.js | 10.44 | 8.33 | 6.66 | 10.44 | 17-174 emailer.js | 81.29 | 53.12 | 73.07 | 80.74 | ...59-466,479-489 google-emailer.js | 31.57 | 33.33 | 100 | 31.57 | 15-64 transaction.js | 100 | 66.66 | 100 | 100 | 16-22 utils | 96.46 | 89.56 | 95.23 | 97.01 | array.js | 100 | 93.93 | 100 | 100 | 8,17 authJwt.js | 100 | 87.5 | 100 | 100 | 28,51 date.js | 100 | 75 | 100 | 100 | 28 deepFreeze.js | 100 | 100 | 100 | 100 | download-service.js | 84.61 | 50 | 100 | 84.61 | 54-56,87-89 email.js | 100 | 100 | 100 | 100 | generate-job-column.js | 96.42 | 84.61 | 100 | 100 | 37,48-51,71 number.js | 100 | 100 | 100 | 100 | object.js | 100 | 90.9 | 100 | 100 | 24 request.js | 100 | 95.83 | 100 | 100 | 57-61 response.js | 100 | 100 | 100 | 100 | string.js | 100 | 97.22 | 100 | 100 | 34 util.js | 94.73 | 100 | 85.71 | 100 | uuid.js | 100 | 84.61 | 100 | 100 | 9-17 validation-service.js | 87.23 | 70.83 | 80 | 86.95 | 15-23 ---------------------------------------|---------|----------|---------|---------|-------------------