import { mount } from "enzyme";
import React from "react";
import MonthlyProductTotal from "./MonthlyProductTotal";
import { Product2 } from "../../../shared/enumerations/Product";
import { IEmployee } from "../../../shared/models/Employee";
import moment from "moment";
import { UserType } from "../../../shared/models/Auditable";
describe("A component for monthly product totals", () => {
const mockUser: IEmployee = {
role: {
name: "baseRole",
rank: 1,
permissions: [],
description: "fake role",
hasCommissions: true
},
departments: [
{
departmentId: 55,
employeeId: "11771",
isHome: true,
note: "fake home assignment",
startDate: moment(),
endDate: moment(),
created: moment(),
createdBy: "nobody",
createdByType: UserType.System,
lastUpdated: moment(),
id: 5,
lastUpdatedBy: "nobody",
lastUpdatedByType: UserType.System
}
],
baseRole: "none",
homeDepartment: "none",
personId: 555,
adEmail: "test@test.com",
employeeId: "11771",
fullName: "Test McTester",
additionalPermissions: []
};
it("Displays a valid total when everything is -zero-", () => {
const data = {
personnelGoals: {
departmentId: 5,
year: 2020,
month: 1,
personnel: [mockUser], // IEmployee[];
goals: {
"11771": {
productGoals: {
NewChecking: 0,
CreditCard: 0,
LIC: 0,
Mortgage: 0,
Vehicle: 0
}
}
} // PerPersonGoalType;
}, // IPersonnelGoals;
pendingChanges: [], // IGoalChangeRequest[];
product: Product2.Vehicle,
departmentTotal: 0
};
const wrapper = mount(
);
expect(wrapper.html()).toBe('0 (0%)');
});
it("Displays a valid total when everything is 100%", () => {
const data = {
personnelGoals: {
departmentId: 5,
year: 2020,
month: 1,
personnel: [mockUser], // IEmployee[];
goals: {
"11771": {
productGoals: {
NewChecking: 5,
CreditCard: 5,
LIC: 0,
Mortgage: 0,
Vehicle: 25
}
}
} // PerPersonGoalType;
}, // IPersonnelGoals;
pendingChanges: [], // IGoalChangeRequest[];
product: Product2.Vehicle,
departmentTotal: 25
};
const wrapper = mount(
);
expect(wrapper.html()).toBe(
'25 (100%)'
);
});
it("Displays a valid total when everything is 50%", () => {
const data = {
personnelGoals: {
departmentId: 5,
year: 2020,
month: 1,
personnel: [mockUser], // IEmployee[];
goals: {
"11771": {
productGoals: {
NewChecking: 3,
CreditCard: 510,
GAPInsurance: 610,
LIC: 9,
Mortgage: 4,
Vehicle: 10
}
}
} // PerPersonGoalType;
}, // IPersonnelGoals;
pendingChanges: [], // IGoalChangeRequest[];
product: Product2.Vehicle,
departmentTotal: 20
};
const wrapper = mount(
);
expect(wrapper.html()).toBe(
'10 (50%)'
);
});
});