2021-04-29 13:47:33 +00:00
|
|
|
import { userStub, userTeamStub } from "test/stubs";
|
2023-04-07 15:36:47 +00:00
|
|
|
import { IUserUpdateBody } from "interfaces/user";
|
|
|
|
|
|
2021-07-12 15:26:11 +00:00
|
|
|
import { IFormData, NewUserType } from "../components/UserForm/UserForm";
|
2021-04-29 13:47:33 +00:00
|
|
|
import userManagementHelpers from "./userManagementHelpers";
|
|
|
|
|
|
|
|
|
|
describe("userManagementHelpers module", () => {
|
|
|
|
|
describe("generateUpdatedData function", () => {
|
|
|
|
|
it("returns an object with only the difference between the two", () => {
|
2023-04-07 15:36:47 +00:00
|
|
|
const updatedTeam: IUserUpdateBody = {
|
2021-04-29 13:47:33 +00:00
|
|
|
...userTeamStub,
|
|
|
|
|
role: "maintainer",
|
|
|
|
|
};
|
2023-04-07 15:36:47 +00:00
|
|
|
const newTeam: IUserUpdateBody = {
|
2021-04-29 13:47:33 +00:00
|
|
|
...userTeamStub,
|
|
|
|
|
id: 2,
|
|
|
|
|
role: "observer",
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const formData: IFormData = {
|
|
|
|
|
email: "newemail@test.com",
|
|
|
|
|
sso_enabled: false,
|
|
|
|
|
name: "Gnar Mike",
|
2021-07-12 15:26:11 +00:00
|
|
|
newUserType: NewUserType.AdminCreated, // TODO revisit test
|
2021-04-29 13:47:33 +00:00
|
|
|
global_role: "admin",
|
|
|
|
|
teams: [updatedTeam, newTeam],
|
|
|
|
|
};
|
|
|
|
|
const updatedData = userManagementHelpers.generateUpdateData(
|
|
|
|
|
userStub,
|
|
|
|
|
formData
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
expect(updatedData).toEqual({
|
|
|
|
|
email: "newemail@test.com",
|
2021-08-16 16:25:51 +00:00
|
|
|
global_role: "admin",
|
2021-04-29 13:47:33 +00:00
|
|
|
teams: [updatedTeam, newTeam],
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|