Simplify method signatures in Users
This commit is contained in:
parent
38a4b1bc86
commit
57cfcd9702
@ -20,11 +20,11 @@ class Users(object):
|
|||||||
return user
|
return user
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def create(self, user_id, atat_role_name):
|
def create(cls, atat_role_name, **kwargs):
|
||||||
atat_role = Roles.get(atat_role_name)
|
atat_role = Roles.get(atat_role_name)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
user = User(id=user_id, atat_role=atat_role)
|
user = User(atat_role=atat_role, **kwargs)
|
||||||
db.session.add(user)
|
db.session.add(user)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
except IntegrityError:
|
except IntegrityError:
|
||||||
@ -33,18 +33,18 @@ class Users(object):
|
|||||||
return user
|
return user
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_or_create(cls, user_id, *args, **kwargs):
|
def get_or_create(cls, user_id, **kwargs):
|
||||||
try:
|
try:
|
||||||
user = Users.get(user_id)
|
user = Users.get(user_id)
|
||||||
except NotFoundError:
|
except NotFoundError:
|
||||||
user = Users.create(user_id, *args, **kwargs)
|
user = Users.create(id=user_id, **kwargs)
|
||||||
db.session.add(user)
|
db.session.add(user)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
|
|
||||||
return user
|
return user
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def update(self, user_id, atat_role_name):
|
def update(cls, user_id, atat_role_name):
|
||||||
|
|
||||||
user = Users.get(user_id)
|
user = Users.get(user_id)
|
||||||
atat_role = Roles.get(atat_role_name)
|
atat_role = Roles.get(atat_role_name)
|
||||||
|
@ -5,64 +5,56 @@ from atst.domain.users import Users
|
|||||||
from atst.domain.exceptions import NotFoundError, AlreadyExistsError
|
from atst.domain.exceptions import NotFoundError, AlreadyExistsError
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="function")
|
|
||||||
def user_id():
|
def test_create_user():
|
||||||
return uuid4()
|
user = Users.create("developer")
|
||||||
|
assert user.atat_role.name == "developer"
|
||||||
|
|
||||||
|
|
||||||
def test_create_user(user_id):
|
def test_create_user_with_nonexistent_role():
|
||||||
user = Users.create(user_id, "developer")
|
|
||||||
assert user.id == user_id
|
|
||||||
|
|
||||||
|
|
||||||
def test_create_user_with_nonexistent_role(user_id):
|
|
||||||
with pytest.raises(NotFoundError):
|
with pytest.raises(NotFoundError):
|
||||||
Users.create(user_id, "nonexistent")
|
Users.create("nonexistent")
|
||||||
|
|
||||||
|
|
||||||
def test_create_already_existing_user(user_id):
|
def test_get_or_create_nonexistent_user():
|
||||||
Users.create(user_id, "developer")
|
user_id = uuid4()
|
||||||
with pytest.raises(AlreadyExistsError):
|
|
||||||
Users.create(user_id, "developer")
|
|
||||||
|
|
||||||
|
|
||||||
def test_get_or_create_nonexistent_user(user_id):
|
|
||||||
user = Users.get_or_create(user_id, atat_role_name="developer")
|
user = Users.get_or_create(user_id, atat_role_name="developer")
|
||||||
assert user.id == user_id
|
assert user.id == user_id
|
||||||
|
|
||||||
|
|
||||||
def test_get_or_create_existing_user(user_id):
|
def test_get_or_create_existing_user():
|
||||||
|
user_id = uuid4()
|
||||||
Users.get_or_create(user_id, atat_role_name="developer")
|
Users.get_or_create(user_id, atat_role_name="developer")
|
||||||
user = Users.get_or_create(user_id, atat_role_name="developer")
|
user = Users.get_or_create(user_id, atat_role_name="developer")
|
||||||
assert user
|
assert user
|
||||||
|
|
||||||
|
|
||||||
def test_get_user(user_id):
|
def test_get_user():
|
||||||
Users.create(user_id, "developer")
|
new_user = Users.create("developer")
|
||||||
user = Users.get(user_id)
|
user = Users.get(new_user.id)
|
||||||
assert user.id == user_id
|
assert user.id == new_user.id
|
||||||
|
|
||||||
|
|
||||||
def test_get_nonexistent_user(user_id):
|
def test_get_nonexistent_user():
|
||||||
Users.create(user_id, "developer")
|
Users.create("developer")
|
||||||
with pytest.raises(NotFoundError):
|
with pytest.raises(NotFoundError):
|
||||||
Users.get(uuid4())
|
Users.get(uuid4())
|
||||||
|
|
||||||
|
|
||||||
def test_update_user(user_id):
|
def test_update_user():
|
||||||
Users.create(user_id, "developer")
|
new_user = Users.create("developer")
|
||||||
updated_user = Users.update(user_id, "ccpo")
|
updated_user = Users.update(new_user.id, "ccpo")
|
||||||
|
|
||||||
assert updated_user.atat_role.name == "ccpo"
|
assert updated_user.atat_role.name == "ccpo"
|
||||||
|
|
||||||
|
|
||||||
def test_update_nonexistent_user(user_id):
|
def test_update_nonexistent_user():
|
||||||
Users.create(user_id, "developer")
|
Users.create("developer")
|
||||||
with pytest.raises(NotFoundError):
|
with pytest.raises(NotFoundError):
|
||||||
Users.update(uuid4(), "ccpo")
|
Users.update(uuid4(), "ccpo")
|
||||||
|
|
||||||
|
|
||||||
def test_update_existing_user_with_nonexistent_role(user_id):
|
def test_update_existing_user_with_nonexistent_role():
|
||||||
Users.create(user_id, "developer")
|
new_user = Users.create("developer")
|
||||||
with pytest.raises(NotFoundError):
|
with pytest.raises(NotFoundError):
|
||||||
Users.update(user_id, "nonexistent")
|
Users.update(new_user.id, "nonexistent")
|
||||||
|
@ -7,7 +7,7 @@ from atst.domain.users import Users
|
|||||||
|
|
||||||
def test_can_create_new_workspace_user():
|
def test_can_create_new_workspace_user():
|
||||||
workspace_id = uuid4()
|
workspace_id = uuid4()
|
||||||
user = Users.create(uuid4(), "developer")
|
user = Users.create("developer")
|
||||||
|
|
||||||
workspace_user_dicts = [{"id": user.id, "workspace_role": "owner"}]
|
workspace_user_dicts = [{"id": user.id, "workspace_role": "owner"}]
|
||||||
|
|
||||||
@ -20,7 +20,7 @@ def test_can_create_new_workspace_user():
|
|||||||
|
|
||||||
def test_can_update_existing_workspace_user():
|
def test_can_update_existing_workspace_user():
|
||||||
workspace_id = uuid4()
|
workspace_id = uuid4()
|
||||||
user = Users.create(uuid4(), "developer")
|
user = Users.create("developer")
|
||||||
|
|
||||||
WorkspaceUsers.add_many(
|
WorkspaceUsers.add_many(
|
||||||
workspace_id, [{"id": user.id, "workspace_role": "owner"}]
|
workspace_id, [{"id": user.id, "workspace_role": "owner"}]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user