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