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())