@@ -11,15 +11,13 @@ import { setupIndexedDb } from 'api/test-support/helpers/indexed-db';
11
11
import { Response } from 'miragejs' ;
12
12
import { authenticateSession } from 'ember-simple-auth/test-support' ;
13
13
import * as commonSelectors from 'admin/tests/helpers/selectors' ;
14
+ import * as selectors from './selectors' ;
14
15
15
16
module ( 'Acceptance | users | delete' , function ( hooks ) {
16
17
setupApplicationTest ( hooks ) ;
17
18
setupMirage ( hooks ) ;
18
19
setupIndexedDb ( hooks ) ;
19
- const DELETE_ACTION_SELECTOR =
20
- '[data-test-manage-user-dropdown] ul li button' ;
21
- const MANAGE_DROPDOWN_SELECTOR =
22
- '[data-test-manage-user-dropdown] button:first-child' ;
20
+
23
21
const instances = {
24
22
scopes : {
25
23
global : null ,
@@ -46,63 +44,63 @@ module('Acceptance | users | delete', function (hooks) {
46
44
urls . orgScope = `/scopes/${ instances . scopes . org . id } ` ;
47
45
urls . users = `${ urls . orgScope } /users` ;
48
46
urls . user = `${ urls . users } /${ instances . user . id } ` ;
47
+ this . getUsersCount = ( ) => this . server . schema . users . all ( ) . models . length ;
48
+ this . confirmService = this . owner . lookup ( 'service:confirm' ) ;
49
49
50
50
await authenticateSession ( { } ) ;
51
51
} ) ;
52
52
53
53
test ( 'can delete a user' , async function ( assert ) {
54
- const usersCount = this . server . db . users . length ;
54
+ const usersCount = this . getUsersCount ( ) ;
55
55
await visit ( urls . users ) ;
56
56
57
- await click ( `[href=" ${ urls . user } "]` ) ;
57
+ await click ( commonSelectors . HREF ( urls . user ) ) ;
58
58
59
- await click ( MANAGE_DROPDOWN_SELECTOR ) ;
60
- await click ( DELETE_ACTION_SELECTOR ) ;
59
+ await click ( selectors . MANAGE_DROPDOWN_USER ) ;
60
+ await click ( selectors . MANAGE_DROPDOWN_USER_DELETE ) ;
61
61
62
- assert . strictEqual ( this . server . db . users . length , usersCount - 1 ) ;
62
+ assert . strictEqual ( this . getUsersCount ( ) , usersCount - 1 ) ;
63
63
} ) ;
64
64
65
65
test ( 'cannot delete a user without proper authorization' , async function ( assert ) {
66
66
instances . user . authorized_actions =
67
67
instances . user . authorized_actions . filter ( ( item ) => item !== 'delete' ) ;
68
68
await visit ( urls . users ) ;
69
69
70
- await click ( `[href=" ${ urls . user } "]` ) ;
70
+ await click ( commonSelectors . HREF ( urls . user ) ) ;
71
71
72
- await click ( MANAGE_DROPDOWN_SELECTOR ) ;
73
- assert . dom ( '[data-test-manage-user-dropdown] ul li button' ) . doesNotExist ( ) ;
72
+ await click ( selectors . MANAGE_DROPDOWN_USER ) ;
73
+ assert . dom ( selectors . MANAGE_DROPDOWN_USER_DELETE ) . doesNotExist ( ) ;
74
74
} ) ;
75
75
76
76
test ( 'can accept delete user via dialog' , async function ( assert ) {
77
- const confirmService = this . owner . lookup ( 'service:confirm' ) ;
78
- confirmService . enabled = true ;
79
- const usersCount = this . server . db . users . length ;
77
+ const usersCount = this . getUsersCount ( ) ;
78
+ this . confirmService . enabled = true ;
80
79
await visit ( urls . users ) ;
81
80
82
- await click ( `[href=" ${ urls . user } "]` ) ;
83
- await click ( MANAGE_DROPDOWN_SELECTOR ) ;
84
- await click ( DELETE_ACTION_SELECTOR ) ;
81
+ await click ( commonSelectors . HREF ( urls . user ) ) ;
82
+ await click ( selectors . MANAGE_DROPDOWN_USER ) ;
83
+ await click ( selectors . MANAGE_DROPDOWN_USER_DELETE ) ;
85
84
await click ( commonSelectors . MODAL_WARNING_CONFIRM_BTN ) ;
86
85
87
86
assert
88
87
. dom ( commonSelectors . ALERT_TOAST_BODY )
89
88
. hasText ( 'Deleted successfully.' ) ;
90
- assert . strictEqual ( this . server . db . users . length , usersCount - 1 ) ;
89
+ assert . strictEqual ( this . getUsersCount ( ) , usersCount - 1 ) ;
91
90
assert . strictEqual ( currentURL ( ) , urls . users ) ;
92
91
} ) ;
93
92
94
93
test ( 'can cancel delete user via dialog' , async function ( assert ) {
95
- const confirmService = this . owner . lookup ( 'service:confirm' ) ;
96
- confirmService . enabled = true ;
97
- const usersCount = this . server . db . users . length ;
94
+ const usersCount = this . getUsersCount ( ) ;
95
+ this . confirmService . enabled = true ;
98
96
await visit ( urls . users ) ;
99
97
100
- await click ( `[href=" ${ urls . user } "]` ) ;
101
- await click ( MANAGE_DROPDOWN_SELECTOR ) ;
102
- await click ( DELETE_ACTION_SELECTOR ) ;
98
+ await click ( commonSelectors . HREF ( urls . user ) ) ;
99
+ await click ( selectors . MANAGE_DROPDOWN_USER ) ;
100
+ await click ( selectors . MANAGE_DROPDOWN_USER_DELETE ) ;
103
101
await click ( commonSelectors . MODAL_WARNING_CANCEL_BTN ) ;
104
102
105
- assert . strictEqual ( this . server . db . users . length , usersCount ) ;
103
+ assert . strictEqual ( this . getUsersCount ( ) , usersCount ) ;
106
104
assert . strictEqual ( currentURL ( ) , urls . user ) ;
107
105
} ) ;
108
106
@@ -120,9 +118,10 @@ module('Acceptance | users | delete', function (hooks) {
120
118
) ;
121
119
} ) ;
122
120
123
- await click ( `[href="${ urls . user } "]` ) ;
124
- await click ( MANAGE_DROPDOWN_SELECTOR ) ;
125
- await click ( DELETE_ACTION_SELECTOR ) ;
121
+ await click ( commonSelectors . HREF ( urls . user ) ) ;
122
+ await click ( selectors . MANAGE_DROPDOWN_USER ) ;
123
+ await click ( selectors . MANAGE_DROPDOWN_USER_DELETE ) ;
124
+
126
125
assert . dom ( commonSelectors . ALERT_TOAST_BODY ) . hasText ( 'Oops.' ) ;
127
126
} ) ;
128
127
} ) ;
0 commit comments