5
5
6
6
faker = Faker ()
7
7
8
- def test_org_invite (client , organization , environ , queries ):
8
+
9
+ @pytest .fixture
10
+ def org_invite (client , organization , environ , queries ):
9
11
role = client .get_roles ()['LABELER' ]
10
12
dummy_email = "none+{}@labelbox.com" .format ("" .join (faker .random_letters (26 )))
11
13
invite_limit = organization .invite_limit ()
@@ -18,6 +20,43 @@ def test_org_invite(client, organization, environ, queries):
18
20
19
21
invite = organization .invite_user (dummy_email , role )
20
22
23
+ yield invite , invite_limit
24
+
25
+ queries .cancel_invite (client , invite .uid )
26
+
27
+
28
+ @pytest .fixture
29
+ def project_role_1 (client , project_pack ):
30
+ project_1 , _ = project_pack
31
+ roles = client .get_roles ()
32
+ return ProjectRole (project = project_1 , role = roles ['LABELER' ])
33
+
34
+
35
+ @pytest .fixture
36
+ def project_role_2 (client , project_pack ):
37
+ _ , project_2 = project_pack
38
+ roles = client .get_roles ()
39
+ return ProjectRole (project = project_2 , role = roles ['REVIEWER' ])
40
+
41
+
42
+ @pytest .fixture
43
+ def create_project_invite (client , organization , project_pack , queries , project_role_1 , project_role_2 ):
44
+ roles = client .get_roles ()
45
+ dummy_email = "none+{}@labelbox.com" .format ("" .join (faker .random_letters (26 )))
46
+ invite = organization .invite_user (
47
+ dummy_email ,
48
+ roles ['NONE' ],
49
+ project_roles = [project_role_1 , project_role_2 ])
50
+
51
+ yield invite
52
+
53
+ queries .cancel_invite (client , invite .uid )
54
+
55
+
56
+ def test_org_invite (client , organization , environ , queries , org_invite ):
57
+ invite , invite_limit = org_invite
58
+ role = client .get_roles ()['LABELER' ]
59
+
21
60
if environ .value == "prod" :
22
61
23
62
invite_limit_after = organization .invite_limit ()
@@ -35,23 +74,23 @@ def test_org_invite(client, organization, environ, queries):
35
74
assert org_role == role .name .lower (
36
75
), "Role should be labeler. Found {org_role} "
37
76
assert in_list , "Invite not found"
77
+
78
+
79
+ def test_cancel_invite (client , organization , queries ,):
80
+ role = client .get_roles ()['LABELER' ]
81
+ dummy_email = "none+{}@labelbox.com" .format ("" .join (faker .random_letters (26 )))
82
+ invite_limit = organization .invite_limit ()
83
+ invite = organization .invite_user (dummy_email , role )
38
84
queries .cancel_invite (client , invite .uid )
39
- assert invite_limit .remaining - organization .invite_limit ().remaining == 0
85
+ invite_limit_after = organization .invite_limit ()
86
+ assert invite_limit .remaining == invite_limit_after .remaining + 1
40
87
41
88
42
- def test_project_invite (client , organization , project_pack , queries ):
43
- project_1 , project_2 = project_pack
89
+ def test_project_invite (client , organization , project_pack , queries , create_project_invite , project_role_1 , project_role_2 ):
90
+ project_1 , _ = project_pack
44
91
roles = client .get_roles ()
45
- dummy_email = "none+{}@labelbox.com" .format ("" .join (faker .random_letters (26 )))
46
- project_role_1 = ProjectRole (project = project_1 , role = roles ['LABELER' ])
47
- project_role_2 = ProjectRole (project = project_2 , role = roles ['REVIEWER' ])
48
- invite = organization .invite_user (
49
- dummy_email ,
50
- roles ['NONE' ],
51
- project_roles = [project_role_1 , project_role_2 ])
52
92
53
93
project_invite = next (queries .get_project_invites (client , project_1 .uid ))
54
-
55
94
assert set ([(proj_invite .project .uid , proj_invite .role .uid )
56
95
for proj_invite in project_invite .project_roles
57
96
]) == set ([(proj_role .project .uid , proj_role .role .uid )
@@ -74,7 +113,6 @@ def test_project_invite(client, organization, project_pack, queries):
74
113
75
114
assert project_member .access_from == 'ORGANIZATION'
76
115
assert project_member .role ().name .upper () == roles ['ADMIN' ].name .upper ()
77
- queries .cancel_invite (client , invite .uid )
78
116
79
117
80
118
@pytest .mark .skip (
0 commit comments