atst/tests/domain/test_workspaces.py

45 lines
1.2 KiB
Python

import pytest
from uuid import uuid4
from atst.domain.exceptions import NotFoundError
from atst.domain.workspaces import Workspaces
from atst.domain.workspace_users import WorkspaceUsers
from tests.factories import WorkspaceFactory, RequestFactory, UserFactory
def test_can_create_workspace():
request = RequestFactory.create()
workspace = Workspaces.create(request)
assert workspace.request == request
assert workspace.name == request.id
workspace = Workspaces.create(request, name="frugal-whale")
assert workspace.name == "frugal-whale"
def test_can_get_workspace():
workspace = WorkspaceFactory.create()
found = Workspaces.get(workspace.id)
assert workspace == found
def test_nonexistent_workspace_raises():
with pytest.raises(NotFoundError):
Workspaces.get(uuid4())
def test_can_get_workspace_by_request():
workspace = WorkspaceFactory.create()
found = Workspaces.get_by_request(workspace.request)
assert workspace == found
def test_creating_workspace_adds_owner():
user = UserFactory.create()
request = RequestFactory.create(creator=user)
workspace = Workspaces.create(request)
workspace_user = WorkspaceUsers.get(workspace.id, user.id)
assert workspace_user.workspace_role