@@ -16,6 +16,10 @@ const USER_CREDENTIALS = {
16161717 password : 'Password1234' ,
1818 } ,
19+ CAN_UPDATE : {
20+ 21+ password : 'Password1234' ,
22+ } ,
1923}
2024
2125describe ( 'Permissions' , ( ) => {
@@ -179,4 +183,48 @@ describe('Permissions', () => {
179183 cy . root ( ) . should ( 'not.contain' , 'button:contains("Save")' )
180184 } )
181185 } )
186+
187+ describe . only ( 'User with `collections.update` permission' , ( ) => {
188+ beforeEach ( ( ) => {
189+ cy . session (
190+ USER_CREDENTIALS . CAN_UPDATE . email ,
191+ ( ) => {
192+ loginUser ( {
193+ email : USER_CREDENTIALS . CAN_UPDATE . email ,
194+ password : USER_CREDENTIALS . CAN_UPDATE . password ,
195+ } )
196+ } ,
197+ {
198+ validate ( ) {
199+ cy . wait ( 1000 )
200+ cy . contains ( 'Hello User who can update' ) . should ( 'be.visible' )
201+ } ,
202+ } ,
203+ )
204+ } )
205+
206+ it ( 'cannot create/clear index' , ( ) => {
207+ visitPluginPage ( )
208+ cy . root ( ) . should ( 'not.contain' , 'button[role="checkbox"]' )
209+ } )
210+
211+ it ( 'can update indexed data' , ( ) => {
212+ visitPluginPage ( )
213+
214+ cy . get ( 'tr:contains(user)' ) . first ( ) . contains ( 'Yes' ) . should ( 'be.visible' )
215+ cy . get ( 'tr:contains(user)' )
216+ . first ( )
217+ . contains ( 'Hooked' )
218+ . should ( 'be.visible' )
219+
220+ cy . get ( 'tr:contains(user)' ) . first ( ) . contains ( 'button' , 'Update' ) . click ( )
221+
222+ cy . contains ( 'div[role="status"]' , 'success' ) . should ( 'be.visible' )
223+ } )
224+
225+ it ( 'cannot change settings' , ( ) => {
226+ visitPluginPage ( )
227+ cy . root ( ) . should ( 'not.contain' , 'button:contains("Save")' )
228+ } )
229+ } )
182230} )
0 commit comments