From 908a57a3c7c1e6015c2c5258034872b08e990ccc Mon Sep 17 00:00:00 2001 From: Tore Brede <Tore.Brede@uib.no> Date: Wed, 9 Feb 2022 16:50:55 +0100 Subject: [PATCH] GREG-195: Adding a simple test for the role info screen --- .../guest/guestRoleInfo/index.test.tsx | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 frontend/src/routes/sponsor/guest/guestRoleInfo/index.test.tsx diff --git a/frontend/src/routes/sponsor/guest/guestRoleInfo/index.test.tsx b/frontend/src/routes/sponsor/guest/guestRoleInfo/index.test.tsx new file mode 100644 index 00000000..cd5098c9 --- /dev/null +++ b/frontend/src/routes/sponsor/guest/guestRoleInfo/index.test.tsx @@ -0,0 +1,68 @@ +import React from 'react' +import { render, screen } from 'test-utils' +import AdapterDateFns from '@mui/lab/AdapterDateFns' +import { LocalizationProvider } from '@mui/lab' +// eslint-disable-next-line import/no-extraneous-dependencies +import { createMemoryHistory } from 'history' +import { Guest } from 'interfaces' +import parse from 'date-fns/parse' +import { Router } from 'react-router-dom' +import GuestRoleInfo from './index' +import { waitFor } from '../../../../test-utils' + +const guest: Guest = { + pid: '100', + first: 'Test', + last: 'Tester', + email: 'test@example.org', + mobile: '(+47)97543991', + fnr: null, + passport: null, + feide_id: null, + active: true, + registered: true, + verified: true, + roles: [ + { + id: '200', + ou_en: 'English organizational unit name', + ou_nb: 'Norsk navn organisasjonsenhet', + name_en: 'Guest role', + name_nb: 'Gjesterolle', + start_date: parse('2021-08-10', 'yyyy-MM-dd', new Date()), + end_date: parse('2021-08-16', 'yyyy-MM-dd', new Date()), + contact_person_unit: 'Test contact person', + max_days: 100, + comments: 'Test comment', + }, + { + id: '201', + ou_en: 'English organizational unit name', + ou_nb: 'Norsk navn organisasjonsenhet', + name_en: 'Test role', + name_nb: 'Testrolle', + start_date: parse('2021-09-06', 'yyyy-MM-dd', new Date()), + end_date: parse('2021-09-20', 'yyyy-MM-dd', new Date()), + contact_person_unit: 'Test contact person', + max_days: 100, + comments: 'Test comment', + }, + ], +} + +test('Button state correct on load', async () => { + const history = createMemoryHistory() + + render( + <Router history={history}> + <LocalizationProvider dateAdapter={AdapterDateFns}> + <GuestRoleInfo guest={guest} reloadGuest={() => {}} /> + </LocalizationProvider> + </Router> + ) + + await waitFor(() => { + expect(screen.getByText('button.save')).toBeDisabled() + expect(screen.getByText('sponsor.endNow')).toBeEnabled() + }) +}) -- GitLab