import {calculateOverallEngagementScore, calculateYearScore, getWeightsForOES} from "./util"; describe("Test OES Score", () => { for (let i = 1; i <= 5; i++) { it(`Should return ${i} weights`, () => { const result = getWeightsForOES(i); expect(result.weights.length).toEqual(i); expect(result.sum).toEqual(1); }); } const yearScoreTestCases: { eventsInvited?: number, eventReplied?: number, feedbackGiven?: number, eventRequests?: number, campaignsSent?: number, campaignsOpened?: number, campaignsClicked?: number, campaignsFailed?: number, }[] = [{ eventsInvited: 0, eventReplied: 0, feedbackGiven: 0, eventRequests: 0, campaignsSent: 0, campaignsOpened: 0, campaignsClicked: 0, campaignsFailed: 0, }, { eventsInvited: 1, eventReplied: 0, feedbackGiven: 0, eventRequests: 0, campaignsSent: 0, campaignsOpened: 0, campaignsClicked: 0, campaignsFailed: 0, }, { eventsInvited: 2, eventReplied: 1, feedbackGiven: 1, eventRequests: 0, campaignsSent: 0, campaignsOpened: 0, campaignsClicked: 0, campaignsFailed: 0, }, { eventsInvited: 5, eventReplied: 2, feedbackGiven: 2, eventRequests: 4, campaignsSent: 0, campaignsOpened: 0, campaignsClicked: 0, campaignsFailed: 0, }, { eventsInvited: 4, eventReplied: 3, feedbackGiven: 1, eventRequests: 0, campaignsSent: 2, campaignsOpened: 1, campaignsClicked: 0, campaignsFailed: 0, }, { eventsInvited: 0, eventReplied: 0, feedbackGiven: 0, eventRequests: 0, campaignsSent: 4, campaignsOpened: 0, campaignsClicked:0, campaignsFailed: 4, }, { eventsInvited: 5, eventReplied: 5, feedbackGiven: 5, eventRequests: 8, campaignsSent: 4, campaignsOpened: 0, campaignsClicked: 4, campaignsFailed: 0, }] const OEScoreTestCases: { eventsInvited?: number, eventReplied?: number, feedbackGiven?: number, eventRequests?: number, campaignsSent?: number, campaignsOpened?: number, campaignsClicked?: number, campaignsFailed?: number, }[][] = [[ { eventsInvited: 5, eventReplied: 5, feedbackGiven: 5, eventRequests: 8, campaignsSent: 4, campaignsOpened: 0, campaignsClicked: 4, campaignsFailed: 0, } ], [{ eventsInvited: 0, eventReplied: 0, feedbackGiven: 0, eventRequests: 0, campaignsSent: 0, campaignsOpened: 0, campaignsClicked: 0, campaignsFailed: 0, }, { eventsInvited: 1, eventReplied: 0, feedbackGiven: 0, eventRequests: 0, campaignsSent: 0, campaignsOpened: 0, campaignsClicked: 0, campaignsFailed: 0, }], [{ eventsInvited: 5, eventReplied: 2, feedbackGiven: 2, eventRequests: 4, campaignsSent: 0, campaignsOpened: 0, campaignsClicked: 0, campaignsFailed: 0, }, { eventsInvited: 2, eventReplied: 1, feedbackGiven: 1, eventRequests: 0, campaignsSent: 0, campaignsOpened: 0, campaignsClicked: 0, campaignsFailed: 0, }, { eventsInvited: 4, eventReplied: 3, feedbackGiven: 1, eventRequests: 0, campaignsSent: 2, campaignsOpened: 1, campaignsClicked: 0, campaignsFailed: 0, }], [ { eventsInvited: 5, eventReplied: 0, feedbackGiven: 0, eventRequests: 0, campaignsSent: 0, campaignsOpened: 0, campaignsClicked: 0, campaignsFailed: 0, }, { eventsInvited: 5, eventReplied: 0, feedbackGiven: 0, eventRequests: 0, campaignsSent: 0, campaignsOpened: 0, campaignsClicked: 0, campaignsFailed: 0, } ]] yearScoreTestCases.forEach((y, i) => { it(`Test Year Score Calculator ${i}`, () => { const result = calculateYearScore(y); console.log("Result:", result); expect(result); }); }) OEScoreTestCases.forEach((y, i) => { it(`Calculate overall score ${i}`, () => { const result = calculateOverallEngagementScore(y); console.log("Result:", result); expect(result); }); }); })