Skip to content

Commit 2ced39c

Browse files
committed
added better tests
1 parent b72ba5f commit 2ced39c

File tree

1 file changed

+40
-21
lines changed

1 file changed

+40
-21
lines changed

libs/labelbox/tests/integration/schema/test_members.py

Lines changed: 40 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,13 @@
99
data = faker.Faker()
1010

1111

12-
@pytest.fixture
12+
@pytest.fixture(scope="session")
1313
def current_member(client):
14-
yield Member(client=client).get()
14+
current_member = Member(client=client).get()
15+
yield current_member
1516

1617

17-
@pytest.fixture
18-
def test_member(client, current_member):
19-
members = list(Member(client=client).get_members())
20-
test_member = None
21-
for member in members:
22-
if member.id != current_member.id:
23-
test_member = member
24-
return test_member
25-
26-
27-
@pytest.fixture
18+
@pytest.fixture(scope="session")
2819
def user_group(client):
2920
group_name = data.name()
3021
user_group = UserGroup(client=client)
@@ -36,6 +27,21 @@ def user_group(client):
3627
user_group.delete()
3728

3829

30+
@pytest.fixture(scope="module")
31+
def test_member(client, current_member, user_group):
32+
members = list(Member(client=client).get_members())
33+
test_member = None
34+
for member in members:
35+
if member.id != current_member.id:
36+
test_member = member
37+
test_member.user_group_ids.add(user_group.id)
38+
updated_member = test_member.update()
39+
yield updated_member
40+
# remove from any user_groups as clean up
41+
updated_member.user_group_ids = set()
42+
updated_member.update()
43+
44+
3945
def test_get_member(current_member, client):
4046
current_member_eq = Member(client=client).get()
4147
assert current_member_eq.id == current_member.id
@@ -58,6 +64,7 @@ def test_update_member(client, test_member, project_pack, user_group):
5864
test_member.user_group_ids.add(user_group.id)
5965
test_member.can_access_all_projects = False
6066
updated_member = test_member.update()
67+
updated_member = updated_member.get()
6168

6269
# Verify that the member was updated successfully
6370
assert test_member.email == updated_member.email
@@ -69,12 +76,22 @@ def test_update_member(client, test_member, project_pack, user_group):
6976
assert user_group.id in updated_member.user_group_ids
7077
assert updated_member.default_role == reviewer_role
7178

79+
# update project role for one of the projects
80+
project = project_pack[0]
81+
project_membership = ProjectMembership(
82+
project_id=project.uid, role=reviewer_role
83+
)
84+
updated_member.project_memberships.add(project_membership)
85+
updated_member = updated_member.update()
86+
assert project_membership in updated_member.get().project_memberships
87+
7288
# Remove memberships and check if updated
7389
updated_member.project_memberships = set()
7490
updated_member.user_group_ids = set()
7591
updated_member.default_role = labeler_role
7692
updated_member.can_access_all_projects = True
7793
updated_member = updated_member.update()
94+
updated_member = updated_member.get()
7895

7996
assert updated_member.project_memberships == set()
8097
assert updated_member.user_group_ids == set()
@@ -83,14 +100,16 @@ def test_update_member(client, test_member, project_pack, user_group):
83100

84101

85102
def test_get_members(test_member, current_member, client):
86-
members = list(
87-
Member(client=client).get_members(search=current_member.email)
88-
)
89-
assert current_member in members
90-
members = list(
91-
Member(client=client).get_members(roles=[current_member.default_role])
92-
)
93-
assert current_member in members
103+
member_ids = [
104+
member.id
105+
for member in Member(client=client).get_members(
106+
search=test_member.email
107+
)
108+
]
109+
assert test_member.id in member_ids
110+
111+
# TODO<Gabefire>: can not search for roles or groups as it is too flaky will need to add in once user groups are harden
112+
94113
member_ids = [member.id for member in Member(client=client).get_members()]
95114
assert test_member.id in member_ids
96115
assert current_member.id in member_ids

0 commit comments

Comments
 (0)