diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 187616b17e979884045e7102fb03c87215cab31a..29406fd97ec63da451454724b93a77d7496638f6 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -11,7 +11,7 @@ "@navikt/fnrvalidator": "^1.1.4", "@testing-library/jest-dom": "^5.14.1", "@testing-library/react": "^11.2.7", - "@testing-library/user-event": "^12.8.3", + "@testing-library/user-event": "^13.2.1", "@types/jest": "^26.0.24", "@types/node": "^12.20.24", "@types/react": "^17.0.20", @@ -3073,6 +3073,159 @@ "url": "https://github.com/sponsors/gregberge" } }, + "node_modules/@testing-library/dom": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.6.0.tgz", + "integrity": "sha512-EDBMEWK8IVpNF7B7C1knb0lLB4Si9RWte/YTEi6CqmqUK5CYCoecwOOG9pEijU/H6s3u0drUxH5sKT07FCgFIg==", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^4.2.0", + "aria-query": "^4.2.2", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.6", + "lz-string": "^1.4.4", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@testing-library/dom/node_modules/@babel/runtime": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz", + "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==", + "peer": true, + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@testing-library/dom/node_modules/@jest/types": { + "version": "27.1.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.1.1.tgz", + "integrity": "sha512-yqJPDDseb0mXgKqmNqypCsb85C22K1aY5+LUxh7syIM9n/b0AsaltxNy+o6tt29VcfGDpYEve175bm3uOhcehA==", + "peer": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@testing-library/dom/node_modules/@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "peer": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@testing-library/dom/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@testing-library/dom/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "peer": true + }, + "node_modules/@testing-library/dom/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/dom/node_modules/pretty-format": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.2.0.tgz", + "integrity": "sha512-KyJdmgBkMscLqo8A7K77omgLx5PWPiXJswtTtFV7XgVZv2+qPk6UivpXXO+5k6ZEbWIbLoKdx1pZ6ldINzbwTA==", + "peer": true, + "dependencies": { + "@jest/types": "^27.1.1", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@testing-library/dom/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@testing-library/jest-dom": { "version": "5.14.1", "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.14.1.tgz", @@ -3292,9 +3445,9 @@ } }, "node_modules/@testing-library/user-event": { - "version": "12.8.3", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-12.8.3.tgz", - "integrity": "sha512-IR0iWbFkgd56Bu5ZI/ej8yQwrkCv8Qydx6RzwbKz9faXazR/+5tvYKsZQgyXJiwgpcva127YO6JcWy7YlCfofQ==", + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.2.1.tgz", + "integrity": "sha512-cczlgVl+krjOb3j1625usarNEibI0IFRJrSWX9UsJ1HKYFgCQv9Nb7QAipUDXl3Xdz8NDTsiS78eAkPSxlzTlw==", "dependencies": { "@babel/runtime": "^7.12.5" }, @@ -24103,6 +24256,124 @@ "loader-utils": "^2.0.0" } }, + "@testing-library/dom": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.6.0.tgz", + "integrity": "sha512-EDBMEWK8IVpNF7B7C1knb0lLB4Si9RWte/YTEi6CqmqUK5CYCoecwOOG9pEijU/H6s3u0drUxH5sKT07FCgFIg==", + "peer": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^4.2.0", + "aria-query": "^4.2.2", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.6", + "lz-string": "^1.4.4", + "pretty-format": "^27.0.2" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz", + "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==", + "peer": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@jest/types": { + "version": "27.1.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.1.1.tgz", + "integrity": "sha512-yqJPDDseb0mXgKqmNqypCsb85C22K1aY5+LUxh7syIM9n/b0AsaltxNy+o6tt29VcfGDpYEve175bm3uOhcehA==", + "peer": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "peer": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true + }, + "pretty-format": { + "version": "27.2.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.2.0.tgz", + "integrity": "sha512-KyJdmgBkMscLqo8A7K77omgLx5PWPiXJswtTtFV7XgVZv2+qPk6UivpXXO+5k6ZEbWIbLoKdx1pZ6ldINzbwTA==", + "peer": true, + "requires": { + "@jest/types": "^27.1.1", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "peer": true + } + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "@testing-library/jest-dom": { "version": "5.14.1", "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.14.1.tgz", @@ -24266,9 +24537,9 @@ } }, "@testing-library/user-event": { - "version": "12.8.3", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-12.8.3.tgz", - "integrity": "sha512-IR0iWbFkgd56Bu5ZI/ej8yQwrkCv8Qydx6RzwbKz9faXazR/+5tvYKsZQgyXJiwgpcva127YO6JcWy7YlCfofQ==", + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.2.1.tgz", + "integrity": "sha512-cczlgVl+krjOb3j1625usarNEibI0IFRJrSWX9UsJ1HKYFgCQv9Nb7QAipUDXl3Xdz8NDTsiS78eAkPSxlzTlw==", "requires": { "@babel/runtime": "^7.12.5" }, diff --git a/frontend/package.json b/frontend/package.json index e4753e74dffc366db42b2344c3d431cb553ad185..53dfa6f17ce3fa29f11e3b06d554f9ac7ecc47bb 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -6,7 +6,7 @@ "@navikt/fnrvalidator": "^1.1.4", "@testing-library/jest-dom": "^5.14.1", "@testing-library/react": "^11.2.7", - "@testing-library/user-event": "^12.8.3", + "@testing-library/user-event": "^13.2.1", "@types/jest": "^26.0.24", "@types/node": "^12.20.24", "@types/react": "^17.0.20", diff --git a/frontend/src/routes/register/index.test.tsx b/frontend/src/routes/register/index.test.tsx new file mode 100644 index 0000000000000000000000000000000000000000..d755926653b553d1783c4d8268d5f03eb6dc5ddd --- /dev/null +++ b/frontend/src/routes/register/index.test.tsx @@ -0,0 +1,47 @@ +import React from 'react' +import { render, waitFor, screen } from '@testing-library/react' +import i18n from 'i18next' +import { ThemeProvider } from 'styled-components/macro' +import { initReactI18next } from 'react-i18next' +import userEvent from '@testing-library/user-event' +import Register from './index' +import mainTheme from '../../themes/main' + + +i18n + .use(initReactI18next) + .init({ + lng: 'en', + fallbackLng: 'en', + + // Have a common namespace used around the full app + ns: ['translations'], + defaultNS: 'translations', + + debug: false, + + resources: { en: { translations: {} } }, + }) + +test('Validation message showing if last name is missing', async () => { + render( + <ThemeProvider theme={mainTheme}> + <Register /> + </ThemeProvider>) + + const firstNamePlaceholder = i18n.t('common:firstName').toString() + const firstNameComponent = screen.getByPlaceholderText(firstNamePlaceholder) + expect(firstNameComponent).toBeInTheDocument() + + userEvent.type(firstNameComponent, 'Test') + + // Try to submit the form and check that the validation message is showing + const submitButton = screen.getByRole('button') + userEvent.click(submitButton) + + const validationLastName = i18n.t('common:validation.lastNameRequired').toString() + await waitFor(() => screen.getByText(validationLastName)) + + const validationMessage = screen.getByText(validationLastName) + expect(validationMessage).toBeInTheDocument() +}) \ No newline at end of file diff --git a/frontend/src/routes/register/index.tsx b/frontend/src/routes/register/index.tsx index 113a13dd488f88b9062d94c351fede75a9fdf0ca..fea26a904e186cf4a20d86771e74f610f6e58043 100644 --- a/frontend/src/routes/register/index.tsx +++ b/frontend/src/routes/register/index.tsx @@ -55,7 +55,9 @@ export default function Register() { placeholder={t('common:firstName')} /> <StyledInput - {...register(`last_name`)} + {...register(`last_name`, { + required: t('common:validation.lastNameRequired').toString() + })} placeholder={t('common:lastName')} /> <StyledInput @@ -83,7 +85,6 @@ export default function Register() { <Button as="button" type="submit"> Submit </Button> - </form> </Page> ) diff --git a/greg/api/serializers/person.py b/greg/api/serializers/person.py index e5f52711164793199d3f755ddc917972e1417332..d1e63341ddfb7cf8cdc471042369589a9bcfe17c 100644 --- a/greg/api/serializers/person.py +++ b/greg/api/serializers/person.py @@ -15,8 +15,8 @@ class RoleSerializer(serializers.ModelSerializer): "id", "start_date", "end_date", - "registered_by", - "unit", + "sponsor_id", + "orgunit_id", "created", "updated", "type", diff --git a/greg/api/views/sponsor.py b/greg/api/views/sponsor.py index 6e149fea441514b7d3a58aa2928da00e6d53e080..5b4ac38b2832873d558cf78135db2125a994b3f4 100644 --- a/greg/api/views/sponsor.py +++ b/greg/api/views/sponsor.py @@ -39,5 +39,5 @@ class SponsorGuestsViewSet(mixins.ListModelMixin, GenericViewSet): if not self.kwargs: return qs.none() sponsor_id = self.kwargs["sponsor_id"] - qs = qs.filter(roles__registered_by=sponsor_id).order_by("id") + qs = qs.filter(roles__sponsor_id=sponsor_id).order_by("id") return qs diff --git a/greg/migrations/0006_column_names.py b/greg/migrations/0006_column_names.py new file mode 100644 index 0000000000000000000000000000000000000000..24638a40ee97a6572f522f602b9716e527bbbd8e --- /dev/null +++ b/greg/migrations/0006_column_names.py @@ -0,0 +1,31 @@ +# Generated by Django 3.2.7 on 2021-09-23 08:42 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('greg', '0005_person_user'), + ] + + operations = [ + migrations.RemoveConstraint( + model_name='role', + name='person_role_type_unique', + ), + migrations.RenameField( + model_name='role', + old_name='unit', + new_name='orgunit_id', + ), + migrations.RenameField( + model_name='role', + old_name='registered_by', + new_name='sponsor_id', + ), + migrations.AddConstraint( + model_name='role', + constraint=models.UniqueConstraint(fields=('person_id', 'type_id', 'orgunit_id', 'start_date', 'end_date'), name='person_role_type_unique'), + ), + ] diff --git a/greg/models.py b/greg/models.py index dd575a825db7585e07b4eebd77375916af7680dc..363cb2cd5e17b3e2d3bc2a28e01c95187418c99a 100644 --- a/greg/models.py +++ b/greg/models.py @@ -166,7 +166,7 @@ class Role(BaseModel): type = models.ForeignKey( "RoleType", on_delete=models.PROTECT, related_name="persons" ) - unit = models.ForeignKey( + orgunit_id = models.ForeignKey( "OrganizationalUnit", on_delete=models.PROTECT, related_name="unit_person_role" ) # The start date can be null for people that are already @@ -176,14 +176,14 @@ class Role(BaseModel): contact_person_unit = models.TextField(blank=True) comments = models.TextField(blank=True) available_in_search = models.BooleanField(default=False) - registered_by = models.ForeignKey( + sponsor_id = models.ForeignKey( "Sponsor", on_delete=models.PROTECT, related_name="sponsor_role" ) class Meta: constraints = [ models.UniqueConstraint( - fields=["person_id", "type_id", "unit_id", "start_date", "end_date"], + fields=["person_id", "type_id", "orgunit_id", "start_date", "end_date"], name="person_role_type_unique", ) ] diff --git a/greg/tests/api/test_person.py b/greg/tests/api/test_person.py index 2a8fe2516c32f35786bb75568fdbcab81022407c..a1268c1e04d318f869d85cd000b5393601bfe6c4 100644 --- a/greg/tests/api/test_person.py +++ b/greg/tests/api/test_person.py @@ -50,8 +50,8 @@ def role_data_guest( "type": "Test Guest", "start_date": "2021-06-10", "end_date": "2021-08-10", - "registered_by": sponsor_bar.id, - "unit": unit_foo.id, + "sponsor_id": sponsor_bar.id, + "orgunit_id": unit_foo.id, } @@ -126,8 +126,8 @@ def test_add_role( "type": "visiting_professor", "start_date": "2021-06-10", "end_date": "2021-08-10", - "registered_by": "1", - "unit": "1", + "sponsor_id": "1", + "orgunit_id": "1", } response = client.post(url, role_data) @@ -420,8 +420,8 @@ def test_add_duplicate_role_fails(client, person_foo: Person, role_person_foo): "type": role_person_foo.type.identifier, "start_date": role_person_foo.start_date, "end_date": role_person_foo.end_date, - "registered_by": role_person_foo.registered_by.id, - "unit": role_person_foo.unit_id, + "sponsor_id": role_person_foo.sponsor_id.id, + "orgunit_id": role_person_foo.unit_id, } response = client.post(url, role_data) # If the role cannot be create the return code is 400 @@ -448,8 +448,8 @@ def test_filter_active_includes_person_with_active_role( person=person_foo, type=role_type_test_guest, end_date=date_today + datetime.timedelta(days=1), - registered_by=sponsor_guy, - unit=unit_foo, + sponsor_id=sponsor_guy, + orgunit_id=unit_foo, ) url = reverse("v1:person-list") @@ -486,8 +486,8 @@ def test_filter_active_value_false( person=person_foo, type=role_type_test_guest, end_date=date_today - datetime.timedelta(days=1), - registered_by=sponsor_guy, - unit=unit_foo, + sponsor_id=sponsor_guy, + orgunit_id=unit_foo, ) url = reverse("v1:person-list") diff --git a/greg/tests/conftest.py b/greg/tests/conftest.py index 2d3fdfb099e3e3c9da3776edc605d8084bbd3d2a..71a08c36919fc2281a99ec0f4050c5124950469a 100644 --- a/greg/tests/conftest.py +++ b/greg/tests/conftest.py @@ -123,8 +123,8 @@ def role_person_foo( type=role_type_test_guest, start_date="2021-08-02", end_date="2021-08-06", - registered_by=sponsor_guy, - unit=unit_foo, + sponsor_id=sponsor_guy, + orgunit_id=unit_foo, ) return Role.objects.get(id=role.id) diff --git a/greg/tests/models/test_person.py b/greg/tests/models/test_person.py index e193a9b4276e41cb4a23335c0a0496ef8960e2b8..44d451b42e1b1e0efb6e15b35335be2a9459b69b 100644 --- a/greg/tests/models/test_person.py +++ b/greg/tests/models/test_person.py @@ -94,14 +94,14 @@ def test_add_multiple_roles_to_person( role_with( person=person, type=role_type_foo, - unit=ou, - registered_by=Sponsor.objects.create(feide_id="foosponsor@uio.no"), + orgunit_id=ou, + sponsor_id=Sponsor.objects.create(feide_id="foosponsor@uio.no"), ) role_with( person=person, type=role_type_bar, - unit=ou, - registered_by=Sponsor.objects.create(feide_id="barsponsor@uio.no"), + orgunit_id=ou, + sponsor_id=Sponsor.objects.create(feide_id="barsponsor@uio.no"), ) assert person.roles.count() == 2 diff --git a/greg/tests/populate_database.py b/greg/tests/populate_database.py index 605a67033c1de70aef9f5cb24f370e86c574761a..c86d746b3e2419c18283c47b6295119c254e973e 100644 --- a/greg/tests/populate_database.py +++ b/greg/tests/populate_database.py @@ -154,7 +154,7 @@ class DatabasePopulation: ), contact_person_unit=self.faker.name(), available_in_search=self.random.random() > 0.5, - registered_by=random.choice(self.sponsors), + sponsor_id=random.choice(self.sponsors), ) person_role_count += 1 except IntegrityError: diff --git a/greg/tests/test_expire_role.py b/greg/tests/test_expire_role.py index df240644cc9b1970e44a8b49560f6b21b816d228..77ca940cf723736b657488e7975c003d7d25e307 100644 --- a/greg/tests/test_expire_role.py +++ b/greg/tests/test_expire_role.py @@ -33,12 +33,12 @@ def role( return Role.objects.create( person=person, type=role_type_bar, - unit=unit_foo, + orgunit_id=unit_foo, start_date="2020-03-05", end_date=datetime.today() + timedelta(days=30), contact_person_unit="Contact Person", available_in_search=True, - registered_by=sponsor_guy, + sponsor_id=sponsor_guy, ) diff --git a/greg/tests/test_notifications.py b/greg/tests/test_notifications.py index f86dbc02383692f22adbe16d9bb68a863321c93d..7fcbb4494aed29bc9d35d7404676d37dec89dfb0 100644 --- a/greg/tests/test_notifications.py +++ b/greg/tests/test_notifications.py @@ -73,8 +73,8 @@ def test_role_add_notification( type=role_type_foo, start_date="2021-05-06", end_date="2021-10-20", - unit=org_unit_bar, - registered_by=sponsor, + orgunit_id=org_unit_bar, + sponsor_id=sponsor, ) notifications = Notification.objects.filter(object_type="Role") assert len(notifications) == 1 @@ -96,8 +96,8 @@ def test_role_update_notification( type=role_type_foo, start_date="2021-05-06", end_date="2021-10-20", - unit=org_unit_bar, - registered_by=sponsor, + orgunit_id=org_unit_bar, + sponsor_id=sponsor, ) assert len(person.roles.all()) == 1 person_role = person.roles.all()[0] @@ -123,8 +123,8 @@ def test_role_delete_notification( type=role_type_foo, start_date="2021-05-06", end_date="2021-10-20", - unit=org_unit_bar, - registered_by=sponsor, + orgunit_id=org_unit_bar, + sponsor_id=sponsor, ) assert len(person.roles.all()) == 1 person_role = person.roles.all()[0]