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