@@ -771,6 +771,30 @@ def test_cancelling_a_task_revokes_roles(self, browser):
771771 storage = RoleAssignmentManager (self .subtask ).storage
772772 self .assertEqual ([], storage ._storage ())
773773
774+ @browsing
775+ def test_cancelling_a_task_in_progress_revokes_roles (self , browser ):
776+ self .login (self .dossier_responsible , browser = browser )
777+ self .set_workflow_state ('task-state-in-progress' , self .subtask )
778+ storage = RoleAssignmentManager (self .subtask ).storage
779+
780+ self .assertEqual (
781+ [{'cause' : ASSIGNMENT_VIA_TASK ,
782+ 'roles' : ['Editor' ],
783+ 'reference' : Oguid .for_object (self .subtask ),
784+ 'principal' : self .regular_user .id },
785+ {'cause' : ASSIGNMENT_VIA_TASK_AGENCY ,
786+ 'roles' : ['Editor' ],
787+ 'reference' : Oguid .for_object (self .subtask ),
788+ 'principal' : 'fa_inbox_users' }],
789+ storage ._storage ())
790+
791+ # cancel
792+ browser .open (self .subtask , view = 'tabbedview_view-overview' )
793+ browser .click_on ('Cancel' )
794+ browser .click_on ('Save' )
795+
796+ self .assertEqual ([], storage ._storage ())
797+
774798 @browsing
775799 def test_cancelling_a_task_does_not_revoke_roles_if_revoke_permission_is_false (self , browser ):
776800 self .login (self .dossier_responsible , browser = browser )
0 commit comments