1
1
import { clickByName , render as renderScreen } from ' @1024pix/ember-testing-library' ;
2
2
import { click } from ' @ember/test-helpers' ;
3
3
import dayjs from ' dayjs' ;
4
+ import { t } from ' ember-intl/test-support' ;
4
5
import MembershipItem from ' pix-admin/components/certification-centers/membership-item' ;
5
6
import { module , test } from ' qunit' ;
6
7
import sinon from ' sinon' ;
@@ -20,49 +21,84 @@ module('Integration | Component | certification-centers/membership-item', funct
20
21
sinon .restore ();
21
22
});
22
23
23
- test (' displays a certification center membership table row item' , async function (assert ) {
24
- // given
25
- const user = store .createRecord (' user' , {
26
- id: 1 ,
27
- firstName: ' Jojo' ,
28
- lastName: ' La Gringue' ,
29
- email: ' jojo@example.net' ,
30
- });
31
- const certificationCenterMembership = store .createRecord (' certification-center-membership' , {
32
- id: 1 ,
33
- user,
34
- role: ' MEMBER' ,
35
- createdAt: new Date (' 2023-09-13T10:47:07Z' ),
36
- lastAccessedAt: new Date (' 2023-12-30T15:21:09Z' ),
24
+ module (' displays a certification center membership table row item' , function () {
25
+ test (' with last access date if exists' , async function (assert ) {
26
+ // given
27
+ const user = store .createRecord (' user' , {
28
+ id: 1 ,
29
+ firstName: ' Jojo' ,
30
+ lastName: ' La Gringue' ,
31
+ email: ' jojo@example.net' ,
32
+ });
33
+ const certificationCenterMembership = store .createRecord (' certification-center-membership' , {
34
+ id: 1 ,
35
+ user,
36
+ role: ' MEMBER' ,
37
+ createdAt: new Date (' 2023-09-13T10:47:07Z' ),
38
+ lastAccessedAt: new Date (' 2023-12-30T15:21:09Z' ),
39
+ });
40
+
41
+ const disableCertificationCenterMembership = sinon .stub ();
42
+
43
+ // when
44
+ const screen = await renderScreen (
45
+ <template >
46
+ <MembershipItem
47
+ @ certificationCenterMembership ={{certificationCenterMembership }}
48
+ @ disableCertificationCenterMembership ={{disableCertificationCenterMembership }}
49
+ />
50
+ </template >,
51
+ );
52
+
53
+ // then
54
+ const expectedLastAccessDate = dayjs (certificationCenterMembership .lastAccessedAt ).format (
55
+ ' DD-MM-YYYY - HH:mm:ss' ,
56
+ );
57
+ const expectedCreationDate = dayjs (certificationCenterMembership .createdAt ).format (' DD-MM-YYYY - HH:mm:ss' );
58
+
59
+ assert .dom (screen .getByRole (' link' , { name: certificationCenterMembership .id })).exists ();
60
+ assert .dom (screen .getByRole (' cell' , { name: user .firstName })).exists ();
61
+ assert .dom (screen .getByRole (' cell' , { name: user .lastName })).exists ();
62
+ assert .dom (screen .getByRole (' cell' , { name: user .email })).exists ();
63
+ assert .dom (screen .getByRole (' cell' , { name: ' Membre' })).exists ();
64
+ assert .dom (screen .getByRole (' cell' , { name: expectedLastAccessDate })).exists ();
65
+ assert .dom (screen .getByRole (' cell' , { name: expectedCreationDate })).exists ();
66
+ assert .dom (screen .getByRole (' button' , { name: ' Modifier le rôle' })).exists ();
67
+ assert .dom (screen .getByRole (' button' , { name: ' Désactiver' })).exists ();
37
68
});
38
69
39
- const disableCertificationCenterMembership = sinon .stub ();
40
-
41
- // when
42
- const screen = await renderScreen (
43
- <template >
44
- <MembershipItem
45
- @ certificationCenterMembership ={{certificationCenterMembership }}
46
- @ disableCertificationCenterMembership ={{disableCertificationCenterMembership }}
47
- />
48
- </template >,
49
- );
50
-
51
- // then
52
- const expectedLastAccessedAtDate = dayjs (certificationCenterMembership .lastAccessedAt ).format (
53
- ' DD-MM-YYYY - HH:mm:ss' ,
54
- );
55
- const expectedCreationDate = dayjs (certificationCenterMembership .createdAt ).format (' DD-MM-YYYY - HH:mm:ss' );
56
-
57
- assert .dom (screen .getByRole (' link' , { name: certificationCenterMembership .id })).exists ();
58
- assert .dom (screen .getByRole (' cell' , { name: user .firstName })).exists ();
59
- assert .dom (screen .getByRole (' cell' , { name: user .lastName })).exists ();
60
- assert .dom (screen .getByRole (' cell' , { name: user .email })).exists ();
61
- assert .dom (screen .getByRole (' cell' , { name: ' Membre' })).exists ();
62
- assert .dom (screen .getByRole (' cell' , { name: expectedLastAccessedAtDate })).exists ();
63
- assert .dom (screen .getByRole (' cell' , { name: expectedCreationDate })).exists ();
64
- assert .dom (screen .getByRole (' button' , { name: ' Modifier le rôle' })).exists ();
65
- assert .dom (screen .getByRole (' button' , { name: ' Désactiver' })).exists ();
70
+ test (' with default last access date when there is none' , async function (assert ) {
71
+ // given
72
+ const user = store .createRecord (' user' , {
73
+ id: 1 ,
74
+ firstName: ' Jojo' ,
75
+ lastName: ' La Gringue' ,
76
+ email: ' jojo@example.net' ,
77
+ });
78
+ const certificationCenterMembership = store .createRecord (' certification-center-membership' , {
79
+ id: 1 ,
80
+ user,
81
+ role: ' MEMBER' ,
82
+ createdAt: new Date (' 2023-09-13T10:47:07Z' ),
83
+ });
84
+
85
+ const disableCertificationCenterMembership = sinon .stub ();
86
+
87
+ // when
88
+ const screen = await renderScreen (
89
+ <template >
90
+ <MembershipItem
91
+ @ certificationCenterMembership ={{certificationCenterMembership }}
92
+ @ disableCertificationCenterMembership ={{disableCertificationCenterMembership }}
93
+ />
94
+ </template >,
95
+ );
96
+
97
+ // then
98
+ const defaultLastAccessDate = t (' components.certification-centers.membership-item.no-last-connection-date-info' );
99
+
100
+ assert .dom (screen .getByRole (' cell' , { name: defaultLastAccessDate })).exists ();
101
+ });
66
102
});
67
103
68
104
module (' when clicking on "Modifier le rôle" button' , function () {
0 commit comments