Skip to content

Commit

Permalink
add jest tests for transform of equity filters
Browse files Browse the repository at this point in the history
  • Loading branch information
esizer committed Jan 12, 2024
1 parent b6ddc87 commit dfb665b
Showing 1 changed file with 113 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
import {
CandidateExpiryFilter,
CandidateSuspendedFilter,
} from "@gc-digital-talent/graphql";

import { transformFormValuesToFilterState } from "./helpers";
import { FormValues } from "./types";

const defaultFormValues: FormValues = {
publishingGroups: [],
classifications: [],
stream: [],
languageAbility: "",
workRegion: [],
operationalRequirement: [],
equity: [],
pools: [],
skills: [],
priorityWeight: [],
poolCandidateStatus: [],
expiryStatus: CandidateExpiryFilter.Active,
suspendedStatus: CandidateSuspendedFilter.Active,
govEmployee: "",
};

describe("Transform form values to filter state", () => {
test("Single equity item", () => {
const hasDisabilityFilters = transformFormValuesToFilterState({
...defaultFormValues,
equity: ["hasDisability"],
});

expect(hasDisabilityFilters).toEqual(
expect.objectContaining({
applicantFilter: expect.objectContaining({
equity: { hasDisability: true },
}),
}),
);

const isWomanFilters = transformFormValuesToFilterState({
...defaultFormValues,
equity: ["isWoman"],
});

expect(isWomanFilters).toEqual(
expect.objectContaining({
applicantFilter: expect.objectContaining({
equity: { isWoman: true },
}),
}),
);

const isVisibleMinorityFilters = transformFormValuesToFilterState({
...defaultFormValues,
equity: ["isVisibleMinority"],
});

expect(isVisibleMinorityFilters).toEqual(
expect.objectContaining({
applicantFilter: expect.objectContaining({
equity: { isVisibleMinority: true },
}),
}),
);

const isIndigenousFilters = transformFormValuesToFilterState({
...defaultFormValues,
equity: ["isIndigenous"],
});

expect(isIndigenousFilters).toEqual(
expect.objectContaining({
applicantFilter: expect.objectContaining({
equity: { isIndigenous: true },
}),
}),
);
});

test("Multiple equity filters", () => {
const multipleEquityFilters = transformFormValuesToFilterState({
...defaultFormValues,
equity: ["hasDisability", "isIndigenous"],
});

expect(multipleEquityFilters).toEqual(
expect.objectContaining({
applicantFilter: expect.objectContaining({
equity: { hasDisability: true, isIndigenous: true },
}),
}),
);

const allEquityFilters = transformFormValuesToFilterState({
...defaultFormValues,
equity: ["hasDisability", "isIndigenous", "isWoman", "isVisibleMinority"],
});

expect(allEquityFilters).toEqual(
expect.objectContaining({
applicantFilter: expect.objectContaining({
equity: {
hasDisability: true,
isIndigenous: true,
isWoman: true,
isVisibleMinority: true,
},
}),
}),
);
});
});

0 comments on commit dfb665b

Please sign in to comment.