@@ -674,12 +674,18 @@ class TestAnnotationDetailAPI(APITestCase):
674
674
675
675
@classmethod
676
676
def setUpTestData (cls ):
677
+ cls .super_user_name = 'super_user_name'
678
+ cls .super_user_pass = 'super_user_pass'
677
679
cls .project_member_name = 'project_member_name'
678
680
cls .project_member_pass = 'project_member_pass'
679
681
cls .another_project_member_name = 'another_project_member_name'
680
682
cls .another_project_member_pass = 'another_project_member_pass'
681
683
cls .non_project_member_name = 'non_project_member_name'
682
684
cls .non_project_member_pass = 'non_project_member_pass'
685
+ # Todo: change super_user to project_admin.
686
+ super_user = User .objects .create_superuser (username = cls .super_user_name ,
687
+ password = cls .super_user_pass ,
688
+
683
689
create_default_roles ()
684
690
project_member = User .objects .create_user (username = cls .project_member_name ,
685
691
password = cls .project_member_pass )
@@ -689,7 +695,7 @@ def setUpTestData(cls):
689
695
password = cls .non_project_member_pass )
690
696
691
697
main_project = mommy .make ('SequenceLabelingProject' ,
692
- users = [project_member , another_project_member ])
698
+ users = [super_user , project_member , another_project_member ])
693
699
main_project_doc = mommy .make ('Document' , project = main_project )
694
700
main_project_entity = mommy .make ('SequenceAnnotation' ,
695
701
document = main_project_doc , user = project_member )
@@ -746,6 +752,12 @@ def test_disallows_project_member_to_update_annotation_of_another_member(self):
746
752
response = self .client .patch (self .another_url , format = 'json' , data = self .post_data )
747
753
self .assertEqual (response .status_code , status .HTTP_403_FORBIDDEN )
748
754
755
+ def test_allows_superuser_to_delete_annotation_of_another_member (self ):
756
+ self .client .login (username = self .super_user_name ,
757
+ password = self .super_user_pass )
758
+ response = self .client .delete (self .another_url , format = 'json' , data = self .post_data )
759
+ self .assertEqual (response .status_code , status .HTTP_204_NO_CONTENT )
760
+
749
761
def test_allows_project_member_to_delete_annotation (self ):
750
762
self .client .login (username = self .project_member_name ,
751
763
password = self .project_member_pass )
0 commit comments