@@ -682,12 +682,18 @@ class TestAnnotationDetailAPI(APITestCase):
682
682
683
683
@classmethod
684
684
def setUpTestData (cls ):
685
+ cls .super_user_name = 'super_user_name'
686
+ cls .super_user_pass = 'super_user_pass'
685
687
cls .project_member_name = 'project_member_name'
686
688
cls .project_member_pass = 'project_member_pass'
687
689
cls .another_project_member_name = 'another_project_member_name'
688
690
cls .another_project_member_pass = 'another_project_member_pass'
689
691
cls .non_project_member_name = 'non_project_member_name'
690
692
cls .non_project_member_pass = 'non_project_member_pass'
693
+ # Todo: change super_user to project_admin.
694
+ super_user = User .objects .create_superuser (username = cls .super_user_name ,
695
+ password = cls .super_user_pass ,
696
+
691
697
create_default_roles ()
692
698
project_member = User .objects .create_user (username = cls .project_member_name ,
693
699
password = cls .project_member_pass )
@@ -697,7 +703,7 @@ def setUpTestData(cls):
697
703
password = cls .non_project_member_pass )
698
704
699
705
main_project = mommy .make ('SequenceLabelingProject' ,
700
- users = [project_member , another_project_member ])
706
+ users = [super_user , project_member , another_project_member ])
701
707
main_project_doc = mommy .make ('Document' , project = main_project )
702
708
main_project_entity = mommy .make ('SequenceAnnotation' ,
703
709
document = main_project_doc , user = project_member )
@@ -754,6 +760,12 @@ def test_disallows_project_member_to_update_annotation_of_another_member(self):
754
760
response = self .client .patch (self .another_url , format = 'json' , data = self .post_data )
755
761
self .assertEqual (response .status_code , status .HTTP_403_FORBIDDEN )
756
762
763
+ def test_allows_superuser_to_delete_annotation_of_another_member (self ):
764
+ self .client .login (username = self .super_user_name ,
765
+ password = self .super_user_pass )
766
+ response = self .client .delete (self .another_url , format = 'json' , data = self .post_data )
767
+ self .assertEqual (response .status_code , status .HTTP_204_NO_CONTENT )
768
+
757
769
def test_allows_project_member_to_delete_annotation (self ):
758
770
self .client .login (username = self .project_member_name ,
759
771
password = self .project_member_pass )
0 commit comments