Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -9,60 +9,42 @@ import {
beforeTestResizeObserver,
} from '__tests__/util/windowResizeObserver';
import { blockImpersonatingNonDevelopers } from 'pages/api/utils/pagePropsHelpers';
import { StaffAccountQuery } from 'src/components/Shared/StaffAccount/StaffAccount.generated';
import { HcmQuery } from 'src/components/HrTools/Shared/HcmData/Hcm.generated';
import { GetUserQuery } from 'src/components/User/GetUser.generated';
import {
PeopleGroupSupportTypeEnum,
UserPersonTypeEnum,
UserTypeEnum,
} from 'src/graphql/types.generated';
import { UsStaffGroupEnum, UserTypeEnum } from 'src/graphql/types.generated';
import theme from 'src/theme';
import AdditionalSalaryRequestPage, { getServerSideProps } from './index.page';

const mocks = {
StaffAccount: {
staffAccount: {
id: '12345',
name: 'Test Account',
},
},
AdditionalSalaryRequest: {
latestAdditionalSalaryRequest: null,
},
Hcm: {
hcm: [
{
salaryRequestEligible: true,
asrEit: {
asrEligibility: true,
},
staffInfo: {
preferredName: 'Test User',
peopleGroupSupportType: PeopleGroupSupportTypeEnum.SupportedRmo,
userPersonType: UserPersonTypeEnum.EmployeeStaff,
},
},
],
},
};
interface TestComponentProps {
userType?: UserTypeEnum;
usStaffGroup?: UsStaffGroupEnum.SeniorStaff;
staffAccountId?: string;
}

const TestComponent: React.FC<TestComponentProps> = ({
userType = UserTypeEnum.UsStaff,
usStaffGroup = UsStaffGroupEnum.SeniorStaff,
staffAccountId = 'account-list-1',
}) => (
<ThemeProvider theme={theme}>
<SnackbarProvider>
<TestRouter router={{ query: { accountListId: 'account-list-1' } }}>
<GqlMockedProvider<{
StaffAccount: StaffAccountQuery;
GetUser: GetUserQuery;
Hcm: HcmQuery;
}>
mocks={{
...mocks,
GetUser: {
user: { userType },
user: { userType, usStaffGroup, staffAccountId },
},
Hcm: {
hcm: [
{
asrEit: {
asrEligibility: true,
},
},
],
},
}}
>
Expand Down Expand Up @@ -109,8 +91,10 @@ describe('AdditionalSalaryRequest page', () => {

it('renders no staff account page when no staff account', async () => {
const mockNoStaffAccount = {
StaffAccount: {
staffAccount: null,
GetUser: {
user: {
staffAccountId: null,
},
},
};

Expand All @@ -119,7 +103,7 @@ describe('AdditionalSalaryRequest page', () => {
<SnackbarProvider>
<TestRouter router={{ query: { accountListId: 'account-list-1' } }}>
<GqlMockedProvider<{
StaffAccount: StaffAccountQuery;
GetUser: GetUserQuery;
}>
mocks={mockNoStaffAccount}
>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,43 +3,28 @@ import TestRouter from '__tests__/util/TestRouter';
import { GqlMockedProvider } from '__tests__/util/graphqlMocking';
import { render } from '__tests__/util/testingLibraryReactMock';
import { blockImpersonatingNonDevelopers } from 'pages/api/utils/pagePropsHelpers';
import { HcmQuery } from 'src/components/HrTools/Shared/HcmData/Hcm.generated';
import { GetUserQuery } from 'src/components/User/GetUser.generated';
import {
PeopleGroupSupportTypeEnum,
UserTypeEnum,
} from 'src/graphql/types.generated';
import { UsStaffGroupEnum, UserTypeEnum } from 'src/graphql/types.generated';
import {
GoalCalculatorPage,
getServerSideProps,
} from './[goalCalculationId].page';

interface ComponentsProps {
userType?: UserTypeEnum;
peopleGroupSupportType?: PeopleGroupSupportTypeEnum;
salaryRequestEligible?: boolean;
usStaffGroup?: UsStaffGroupEnum;
}

const Components: React.FC<ComponentsProps> = ({
userType = UserTypeEnum.NonCru,
peopleGroupSupportType = PeopleGroupSupportTypeEnum.SupportedRmo,
salaryRequestEligible = true,
usStaffGroup = UsStaffGroupEnum.SeniorStaff,
}) => (
<TestRouter>
<GqlMockedProvider<{
GetUser: GetUserQuery;
Hcm: HcmQuery;
}>
mocks={{
GetUser: { user: { userType } },
Hcm: {
hcm: [
{
salaryRequestEligible,
staffInfo: { peopleGroupSupportType },
},
],
},
GetUser: { user: { userType, usStaffGroup } },
}}
>
<GoalCalculatorPage />
Expand All @@ -60,12 +45,11 @@ describe('[goalCalculationId] page', () => {
).toBeInTheDocument();
});

it('should show limited access for a US Staff user whose peopleGroupSupportType is Designation (PDS)', async () => {
it('should show limited access for a US Staff user whose usStaffGroup is PaidWithDesignation (PDS)', async () => {
const { findByText } = render(
<Components
userType={UserTypeEnum.UsStaff}
peopleGroupSupportType={PeopleGroupSupportTypeEnum.Designation}
salaryRequestEligible={false}
usStaffGroup={UsStaffGroupEnum.PaidWithDesignation}
/>,
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,40 +2,25 @@ import TestRouter from '__tests__/util/TestRouter';
import { GqlMockedProvider } from '__tests__/util/graphqlMocking';
import { render } from '__tests__/util/testingLibraryReactMock';
import { blockImpersonatingNonDevelopers } from 'pages/api/utils/pagePropsHelpers';
import { HcmQuery } from 'src/components/HrTools/Shared/HcmData/Hcm.generated';
import { GetUserQuery } from 'src/components/User/GetUser.generated';
import {
PeopleGroupSupportTypeEnum,
UserTypeEnum,
} from 'src/graphql/types.generated';
import { UsStaffGroupEnum, UserTypeEnum } from 'src/graphql/types.generated';
import { GoalCalculatorPage, getServerSideProps } from './index.page';

interface ComponentsProps {
userType?: UserTypeEnum;
peopleGroupSupportType?: PeopleGroupSupportTypeEnum;
salaryRequestEligible?: boolean;
usStaffGroup?: UsStaffGroupEnum;
}

const Components: React.FC<ComponentsProps> = ({
userType = UserTypeEnum.NonCru,
peopleGroupSupportType = PeopleGroupSupportTypeEnum.SupportedRmo,
salaryRequestEligible = true,
usStaffGroup = UsStaffGroupEnum.SeniorStaff,
}) => (
<TestRouter>
<GqlMockedProvider<{
GetUser: GetUserQuery;
Hcm: HcmQuery;
}>
mocks={{
GetUser: { user: { userType } },
Hcm: {
hcm: [
{
salaryRequestEligible,
staffInfo: { peopleGroupSupportType },
},
],
},
GetUser: { user: { userType, usStaffGroup } },
}}
>
<GoalCalculatorPage />
Expand All @@ -56,12 +41,11 @@ describe('GoalCalculator page', () => {
).toBeInTheDocument();
});

it('should show limited access for a US Staff user whose peopleGroupSupportType is Designation (PDS)', async () => {
it('should show limited access for a US Staff user whose usStaffGroup is PaidWithDesignation (PDS)', async () => {
const { findByText } = render(
<Components
userType={UserTypeEnum.UsStaff}
peopleGroupSupportType={PeopleGroupSupportTypeEnum.Designation}
salaryRequestEligible={false}
usStaffGroup={UsStaffGroupEnum.PaidWithDesignation}
/>,
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,60 +9,32 @@ import {
beforeTestResizeObserver,
} from '__tests__/util/windowResizeObserver';
import { blockImpersonatingNonDevelopers } from 'pages/api/utils/pagePropsHelpers';
import { StaffAccountQuery } from 'src/components/Shared/StaffAccount/StaffAccount.generated';
import { GetUserQuery } from 'src/components/User/GetUser.generated';
import {
AssignmentStatusEnum,
PeopleGroupSupportTypeEnum,
UserPersonTypeEnum,
UserTypeEnum,
} from 'src/graphql/types.generated';
import { UsStaffGroupEnum, UserTypeEnum } from 'src/graphql/types.generated';
import theme from 'src/theme';
import MinisterHousingAllowancePage, { getServerSideProps } from './index.page';

const mutationSpy = jest.fn();

const mocks = {
StaffAccount: {
staffAccount: {
id: '12345',
name: 'Test Account',
},
},
Hcm: {
hcm: [
{
mhaEit: {
mhaEligibility: true,
},
staffInfo: {
preferredName: 'Test User',
peopleGroupSupportType: PeopleGroupSupportTypeEnum.SupportedRmo,
userPersonType: UserPersonTypeEnum.EmployeeStaff,
assignmentStatus: AssignmentStatusEnum.ActivePayrollEligible,
},
},
],
},
};
interface ComponentProps {
userType?: UserTypeEnum;
usStaffGroup?: UsStaffGroupEnum;
staffAccountId?: string;
}

const Components: React.FC<ComponentProps> = ({
userType = UserTypeEnum.UsStaff,
usStaffGroup = UsStaffGroupEnum.SeniorStaff,
staffAccountId = '12345',
}) => (
<ThemeProvider theme={theme}>
<SnackbarProvider>
<TestRouter>
<GqlMockedProvider<{
StaffAccount: StaffAccountQuery;
GetUser: GetUserQuery;
}>
mocks={{
...mocks,
GetUser: {
user: { userType },
user: { userType, usStaffGroup, staffAccountId },
},
}}
onCall={mutationSpy}
Expand Down Expand Up @@ -109,15 +81,17 @@ describe('MHA Calculation Page', () => {

it('renders no staff account page when no staff account', async () => {
const mockNoStaffAccount = {
StaffAccount: {
staffAccount: null,
GetUser: {
user: {
staffAccountId: null,
},
},
};

const { findByText } = render(
<TestRouter>
<GqlMockedProvider<{
StaffAccount: StaffAccountQuery;
GetUser: GetUserQuery;
}>
mocks={mockNoStaffAccount}
onCall={mutationSpy}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,38 +9,31 @@ import {
beforeTestResizeObserver,
} from '__tests__/util/windowResizeObserver';
import { blockImpersonatingNonDevelopers } from 'pages/api/utils/pagePropsHelpers';
import { StaffAccountQuery } from 'src/components/Shared/StaffAccount/StaffAccount.generated';
import { GetUserQuery } from 'src/components/User/GetUser.generated';
import { UserTypeEnum } from 'src/graphql/types.generated';
import theme from 'src/theme';
import PartnerRemindersReportPage, { getServerSideProps } from './index.page';

const mutationSpy = jest.fn();

const mocks = {
StaffAccount: {
staffAccount: {
id: '12345',
name: 'Test Account',
},
},
};
interface ComponentProps {
userType?: UserTypeEnum;
staffAccountId?: string;
}

const Components: React.FC<ComponentProps> = ({
userType = UserTypeEnum.UsStaff,
staffAccountId = '12345',
}) => (
<ThemeProvider theme={theme}>
<SnackbarProvider>
<TestRouter>
<GqlMockedProvider<{
StaffAccount: StaffAccountQuery;
GetUser: GetUserQuery;
}>
mocks={{
...mocks,
GetUser: {
user: { userType },
user: { userType, staffAccountId },
},
}}
onCall={mutationSpy}
Expand Down Expand Up @@ -84,15 +77,17 @@ describe('Partner Reminders Report Page', () => {

it('renders no staff account page when no staff account', async () => {
const mockNoStaffAccount = {
StaffAccount: {
staffAccount: null,
GetUser: {
user: {
staffAccountId: null,
},
},
};

const { findByText } = render(
<TestRouter>
<GqlMockedProvider<{
StaffAccount: StaffAccountQuery;
GetUser: GetUserQuery;
}>
mocks={mockNoStaffAccount}
onCall={mutationSpy}
Expand Down
Loading
Loading