Add defense_component to Portfolio when new task_order is created without an existing portfolio

This commit is contained in:
Montana
2019-02-26 10:26:23 -05:00
parent f8a6d04d64
commit 7ee8858cc7
7 changed files with 26 additions and 8 deletions

View File

@@ -18,12 +18,12 @@ def test_section_completion_status():
section = dict_keys[0]
attrs = TaskOrders.SECTIONS[section].copy()
attrs.remove("portfolio_name")
attrs.remove("defense_component")
task_order = TaskOrderFactory.create(**{k: None for k in attrs})
leftover = attrs.pop()
for attr in attrs:
setattr(task_order, attr, "str12345")
assert TaskOrders.section_completion_status(task_order, section) == "draft"
setattr(task_order, leftover, "str12345")

View File

@@ -104,6 +104,7 @@ class PortfolioFactory(Base):
model = Portfolio
name = factory.Faker("name")
defense_component = factory.LazyFunction(random_service_branch)
@classmethod
def _create(cls, model_class, *args, **kwargs):
@@ -227,7 +228,6 @@ class TaskOrderFactory(Base):
clin_02 = factory.LazyFunction(lambda *args: random.randrange(100, 100_000))
clin_04 = factory.LazyFunction(lambda *args: random.randrange(100, 100_000))
defense_component = factory.LazyFunction(random_service_branch)
app_migration = random_choice(data.APP_MIGRATION)
native_apps = random.choice(["yes", "no", "not_sure"])
complexity = [random_choice(data.APPLICATION_COMPLEXITY)]

View File

@@ -51,7 +51,9 @@ def test_create_new_task_order(client, user_session, pdf_upload):
task_order_data = TaskOrderFactory.dictionary()
app_info_data = slice_data_for_section(task_order_data, "app_info")
portfolio_name = "Mos Eisley"
defense_component = "Defense Health Agency"
app_info_data["portfolio_name"] = portfolio_name
app_info_data["defense_component"] = defense_component
response = client.post(
url_for("task_orders.update", screen=1),
@@ -64,6 +66,8 @@ def test_create_new_task_order(client, user_session, pdf_upload):
created_task_order = TaskOrders.get(creator, created_task_order_id)
assert created_task_order.portfolio is not None
assert created_task_order.portfolio.name == portfolio_name
assert created_task_order.portfolio is not None
assert created_task_order.portfolio.defense_component == defense_component
funding_data = slice_data_for_section(task_order_data, "funding")
funding_data = serialize_dates(funding_data)
@@ -89,6 +93,8 @@ def test_create_new_task_order_for_portfolio(client, user_session):
app_info_data = slice_data_for_section(task_order_data, "app_info")
portfolio_name = "This is ignored for now"
app_info_data["portfolio_name"] = portfolio_name
defense_component = "Defense Health Agency" # this is also ignored
app_info_data["defense_component"] = defense_component
response = client.post(
url_for("task_orders.update", screen=1, portfolio_id=portfolio.id),
@@ -203,7 +209,8 @@ def test_show_task_order_form(task_order):
task_order.creator, task_order_id=task_order.id
)
assert (
another_workflow.form.data["defense_component"] == task_order.defense_component
another_workflow.form.data["defense_component"]
== task_order.portfolio.defense_component
)