Skip to content

Commit 6592e89

Browse files
feat(admin): add new route, model and and link for CGU
1 parent b6b5cad commit 6592e89

File tree

4 files changed

+32
-1
lines changed

4 files changed

+32
-1
lines changed

admin/app/router.js

+1
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ Router.map(function () {
5555
this.route('campaign-participations', { path: '/participations' });
5656
this.route('organizations');
5757
this.route('certification-center-memberships');
58+
this.route('cgu');
5859
});
5960
});
6061

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import Route from '@ember/routing/route';
2+
3+
export default class UserCguRoute extends Route {
4+
async model() {
5+
const user = this.modelFor('authenticated.users.get');
6+
return {
7+
cgu: user.cgu,
8+
pixOrgaTermsOfServiceAccepted: user.pixOrgaTermsOfServiceAccepted,
9+
pixCertifTermsOfServiceAccepted: user.pixCertifTermsOfServiceAccepted,
10+
lastTermsOfServiceValidatedAt: user.lastTermsOfServiceValidatedAt,
11+
lastPixOrgaTermsOfServiceValidatedAt: user.lastPixOrgaTermsOfServiceValidatedAt,
12+
lastPixCertifTermsOfServiceValidatedAt: user.lastPixCertifTermsOfServiceValidatedAt,
13+
};
14+
}
15+
}

admin/app/templates/authenticated/users/get.hbs

+9
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,15 @@
4949
{{t "pages.user-details.navbar.certification-centers-list"}}
5050
({{@model.certificationCenterMembershipsCount}})
5151
</LinkTo>
52+
53+
<LinkTo
54+
@route="authenticated.users.get.cgu"
55+
@model={{@model}}
56+
aria-label={{t "pages.user-details.navbar.cgu-aria-label"}}
57+
class="navbar-item"
58+
>
59+
{{t "pages.user-details.navbar.cgu"}}
60+
</LinkTo>
5261
</nav>
5362

5463
{{outlet}}

admin/tests/acceptance/authenticated/users/get-test.js

+7-1
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,12 @@ import { setupApplicationTest } from 'ember-qunit';
55
import { createAuthenticateSession } from 'pix-admin/tests/helpers/test-init';
66
import { module, test } from 'qunit';
77

8+
import setupIntl from '../../../helpers/setup-intl';
9+
810
module('Acceptance | authenticated/users/get', function (hooks) {
911
setupApplicationTest(hooks);
1012
setupMirage(hooks);
13+
setupIntl(hooks);
1114

1215
test('access to user details page by URL /users/:id', async function (assert) {
1316
// when
@@ -20,14 +23,14 @@ module('Acceptance | authenticated/users/get', function (hooks) {
2023

2124
test('displays user detail information page', async function (assert) {
2225
// given
26+
this.intl = this.owner.lookup('service:intl');
2327
const user = await _buildAndAuthenticateUser(this.server, { email: '[email protected]', username: null });
2428
const expectedOrganizationMembershipsCount = 2;
2529
const expectedParticipationCount = 1;
2630
const expectedCertificationCenterCount = 3;
2731

2832
// when
2933
const screen = await visit(`/users/${user.id}`);
30-
3134
// then
3235
assert.dom(screen.getByRole('heading', { name: "Informations de l'utilisateur" })).exists();
3336
assert.dom(screen.getByRole('heading', { name: 'Informations prescrit' })).exists();
@@ -43,6 +46,9 @@ module('Acceptance | authenticated/users/get', function (hooks) {
4346
assert
4447
.dom(userNavigation.getByLabelText('Organisations de l’utilisateur'))
4548
.hasText(`Pix Orga (${expectedOrganizationMembershipsCount})`);
49+
assert
50+
.dom(userNavigation.getByRole('link', { name: this.intl.t('pages.user-details.navbar.cgu-aria-label') }))
51+
.exists();
4652
});
4753

4854
test('redirects to list users page when click page title', async function (assert) {

0 commit comments

Comments
 (0)