TaskOrders domain responsible for adding officers

This commit is contained in:
dandds
2019-01-04 12:27:54 -05:00
parent d0bfa16f17
commit 356a0fab2c
6 changed files with 62 additions and 36 deletions

View File

@@ -1,8 +1,8 @@
import pytest
from atst.domain.task_orders import TaskOrders
from atst.domain.task_orders import TaskOrders, TaskOrderError
from tests.factories import TaskOrderFactory
from tests.factories import TaskOrderFactory, UserFactory
def test_is_section_complete():
@@ -29,3 +29,22 @@ def test_all_sections_complete():
assert not TaskOrders.all_sections_complete(task_order)
task_order.scope = "str12345"
assert TaskOrders.all_sections_complete(task_order)
def test_add_officer():
task_order = TaskOrderFactory.create()
ko = UserFactory.create()
owner = task_order.workspace.owner
TaskOrders.add_officer(owner, task_order, "contracting_officer", ko.to_dictionary())
assert task_order.contracting_officer == ko
workspace_users = [ws_role.user for ws_role in task_order.workspace.members]
assert ko in workspace_users
def test_add_officer_with_nonexistent_role():
task_order = TaskOrderFactory.create()
ko = UserFactory.create()
owner = task_order.workspace.owner
with pytest.raises(TaskOrderError):
TaskOrders.add_officer(owner, task_order, "pilot", ko.to_dictionary())

View File

@@ -1,4 +1,4 @@
from tests.factories import UserFactory, WorkspaceFactory
from tests.factories import UserFactory, WorkspaceFactory, WorkspaceRoleFactory
from atst.services.invitation import Invitation
@@ -7,11 +7,8 @@ def test_invite_member(queue):
inviter = UserFactory.create()
new_member = UserFactory.create()
workspace = WorkspaceFactory.create(owner=inviter)
invite_service = Invitation(
inviter,
workspace,
{**new_member.to_dictionary(), "workspace_role": "developer"},
)
ws_member = WorkspaceRoleFactory.create(user=new_member, workspace=workspace)
invite_service = Invitation(inviter, ws_member, new_member.email)
new_invitation = invite_service.invite()
assert new_invitation == new_member.invitations[0]
assert len(queue.get_queue()) == 1