mirror of
https://github.com/fleetdm/fleet
synced 2026-05-04 22:08:41 +00:00
41 lines
1.3 KiB
TypeScript
41 lines
1.3 KiB
TypeScript
import { userTeamStub } from "test/stubs";
|
|
import createMockUser from "__mocks__/userMock";
|
|
import { IUserUpdateBody } from "interfaces/user";
|
|
|
|
import { IUserFormData, NewUserType } from "../components/UserForm/UserForm";
|
|
import userManagementHelpers from "./userManagementHelpers";
|
|
|
|
describe("userManagementHelpers module", () => {
|
|
describe("generateUpdatedData function", () => {
|
|
it("returns an object with only the difference between the two", () => {
|
|
const updatedTeam: IUserUpdateBody = {
|
|
...userTeamStub,
|
|
role: "maintainer",
|
|
};
|
|
const newTeam: IUserUpdateBody = {
|
|
...userTeamStub,
|
|
id: 2,
|
|
role: "observer",
|
|
};
|
|
|
|
const formData: IUserFormData = {
|
|
email: "newemail@test.com",
|
|
sso_enabled: false,
|
|
name: "Test User",
|
|
newUserType: NewUserType.AdminCreated, // TODO revisit test
|
|
global_role: "admin",
|
|
teams: [updatedTeam, newTeam],
|
|
};
|
|
const updatedData = userManagementHelpers.generateUpdateData(
|
|
createMockUser({ role: "Observer", global_role: null }),
|
|
formData
|
|
);
|
|
|
|
expect(updatedData).toEqual({
|
|
email: "newemail@test.com",
|
|
global_role: "admin",
|
|
teams: [updatedTeam, newTeam],
|
|
});
|
|
});
|
|
});
|
|
});
|