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