From c1383e1ec7027103fe84af13810dee25327d7bbc Mon Sep 17 00:00:00 2001 From: leigh-mil Date: Thu, 13 Jun 2019 15:44:01 -0400 Subject: [PATCH 1/4] Delete unneeded tests --- tests/domain/test_task_orders.py | 39 ----------------- tests/routes/task_orders/test_index.py | 58 -------------------------- 2 files changed, 97 deletions(-) diff --git a/tests/domain/test_task_orders.py b/tests/domain/test_task_orders.py index 4a62844c..8dc07bbc 100644 --- a/tests/domain/test_task_orders.py +++ b/tests/domain/test_task_orders.py @@ -75,45 +75,6 @@ def test_task_order_sorting(): assert TaskOrders.sort(task_orders) == task_orders -@pytest.mark.skip(reason="Need to reimplement after new TO form is created") -def test_section_completion_status(): - dict_keys = [k for k in TaskOrders.SECTIONS.keys()] - section = dict_keys[0] - attrs = TaskOrders.SECTIONS[section].copy() - attrs.remove("portfolio_name") - 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") - assert TaskOrders.section_completion_status(task_order, section) == "complete" - - -@pytest.mark.skip(reason="Need to reimplement after new TO form is created") -def test_all_sections_complete(): - task_order = TaskOrderFactory.create() - attachment = Attachment( - filename="sample_attachment", - object_name="sample", - resource="task_order", - resource_id=task_order.id, - ) - - custom_attrs = {"csp_estimate": attachment} - for attr_list in TaskOrders.SECTIONS.values(): - for attr in attr_list: - if not getattr(task_order, attr): - setattr(task_order, attr, custom_attrs.get(attr, "str12345")) - - task_order.scope = None - assert not TaskOrders.all_sections_complete(task_order) - task_order.scope = "str12345" - assert TaskOrders.all_sections_complete(task_order) - - def test_create_adds_clins(pdf_upload): portfolio = PortfolioFactory.create() clins = [ diff --git a/tests/routes/task_orders/test_index.py b/tests/routes/task_orders/test_index.py index 51225892..23eb9cce 100644 --- a/tests/routes/task_orders/test_index.py +++ b/tests/routes/task_orders/test_index.py @@ -78,61 +78,3 @@ def test_submit_task_order(client, user_session, task_order): url_for("task_orders.submit_task_order", task_order_id=upcoming_task_order.id) ) assert upcoming_task_order.status == TaskOrderStatus.UPCOMING - - -class TestPortfolioFunding: - @pytest.mark.skip(reason="Update later when CLINs are implemented") - def test_funded_portfolio(self, app, user_session, portfolio): - user_session(portfolio.owner) - - pending_to = TaskOrderFactory.create(portfolio=portfolio) - active_to1 = TaskOrderFactory.create(portfolio=portfolio, number="42") - active_to2 = TaskOrderFactory.create(portfolio=portfolio, number="43") - end_date = ( - active_to1.end_date - if active_to1.end_date > active_to2.end_date - else active_to2.end_date - ) - - with captured_templates(app) as templates: - response = app.test_client().get( - url_for("task_orders.portfolio_funding", portfolio_id=portfolio.id) - ) - - assert response.status_code == 200 - _, context = templates[0] - assert context["funding_end_date"] is end_date - assert context["total_balance"] == active_to1.budget + active_to2.budget - - @pytest.mark.skip(reason="Update later when CLINs are implemented") - def test_expiring_and_funded_portfolio(self, app, user_session, portfolio): - user_session(portfolio.owner) - - expiring_to = TaskOrderFactory.create(portfolio=portfolio, number="42") - active_to = TaskOrderFactory.create(portfolio=portfolio, number="43") - - with captured_templates(app) as templates: - response = app.test_client().get( - url_for("task_orders.portfolio_funding", portfolio_id=portfolio.id) - ) - - assert response.status_code == 200 - _, context = templates[0] - assert context["funding_end_date"] is active_to.end_date - assert context["funded"] == True - - @pytest.mark.skip(reason="Update later when CLINs are implemented") - def test_expiring_and_unfunded_portfolio(self, app, user_session, portfolio): - user_session(portfolio.owner) - - expiring_to = TaskOrderFactory.create(portfolio=portfolio, number="42") - - with captured_templates(app) as templates: - response = app.test_client().get( - url_for("task_orders.portfolio_funding", portfolio_id=portfolio.id) - ) - - assert response.status_code == 200 - _, context = templates[0] - assert context["funding_end_date"] is expiring_to.end_date - assert context["funded"] == False From f76d67dddb25a90ad2768f6d493ad8a9a3c94115 Mon Sep 17 00:00:00 2001 From: leigh-mil Date: Thu, 20 Jun 2019 13:48:20 -0400 Subject: [PATCH 2/4] update comment --- tests/routes/task_orders/test_new.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/routes/task_orders/test_new.py b/tests/routes/task_orders/test_new.py index 5dad287c..f6d7a364 100644 --- a/tests/routes/task_orders/test_new.py +++ b/tests/routes/task_orders/test_new.py @@ -165,7 +165,7 @@ def test_cannot_get_to_review_screen_with_incomplete_data( assert response.status_code == 400 -@pytest.mark.skip(reason="Update after implementing new TO form") +@pytest.mark.skip(reason="Update after implementing errors on TO form") def test_task_order_form_shows_errors(client, user_session, task_order): creator = task_order.creator user_session(creator) From a0f6d98d28b28d5812f3bea729faa7ce6f63ec3c Mon Sep 17 00:00:00 2001 From: leigh-mil Date: Thu, 20 Jun 2019 13:48:33 -0400 Subject: [PATCH 3/4] Remove more unnecesary tests --- tests/routes/task_orders/test_new.py | 15 -------- tests/test_access.py | 53 ---------------------------- 2 files changed, 68 deletions(-) diff --git a/tests/routes/task_orders/test_new.py b/tests/routes/task_orders/test_new.py index f6d7a364..e7583258 100644 --- a/tests/routes/task_orders/test_new.py +++ b/tests/routes/task_orders/test_new.py @@ -184,18 +184,3 @@ def test_task_order_form_shows_errors(client, user_session, task_order): body = response.data.decode() assert "There were some errors" in body assert "Not a valid decimal" in body - - -@pytest.mark.skip(reason="Update after implementing new TO form") -def test_task_order_review_when_complete(client, user_session, task_order): - pass - - -@pytest.mark.skip(reason="Update after implementing new TO form") -def test_task_order_review_when_not_complete(client, user_session, task_order): - pass - - -@pytest.mark.skip(reason="Update after implementing new TO form") -def test_task_order_review_and_sign(client, user_session, task_order): - pass diff --git a/tests/test_access.py b/tests/test_access.py index 22519c05..84657cca 100644 --- a/tests/test_access.py +++ b/tests/test_access.py @@ -448,60 +448,7 @@ def test_task_orders_download_task_order_pdf_access(get_url_assert_status, monke get_url_assert_status(rando, url, 404) -# task_orders.edit -@pytest.mark.skip(reason="Update after new TO form implemented") -def test_task_orders_new_access(get_url_assert_status): - ccpo = user_with(PermissionSets.EDIT_PORTFOLIO_FUNDING) - owner = user_with() - rando = user_with() - portfolio = PortfolioFactory.create(owner=owner) - - url = url_for("task_orders.edit", portfolio_id=portfolio.id) - get_url_assert_status(owner, url, 200) - get_url_assert_status(ccpo, url, 200) - get_url_assert_status(rando, url, 404) - - -# task_orders.record_signature -@pytest.mark.skip(reason="Update after TO signature is reimplemented") -def test_task_orders_record_signature_access(post_url_assert_status, monkeypatch): - ccpo = UserFactory.create_ccpo() - owner = user_with() - rando = user_with() - - portfolio = PortfolioFactory.create(owner=owner) - task_order = TaskOrderFactory.create(portfolio=portfolio) - monkeypatch.setattr( - "atst.routes.task_orders.signing.find_unsigned_ko_to", lambda *a: task_order - ) - - url = url_for("task_orders.record_signature", task_order_id=task_order.id) - post_url_assert_status(owner, url, 404) - post_url_assert_status(ccpo, url, 404) - post_url_assert_status(rando, url, 404) - - -# task_orders.signature_requested -@pytest.mark.skip(reason="Update after TO signature is reimplemented") -def test_task_orders_signature_requested_access(get_url_assert_status, monkeypatch): - ccpo = UserFactory.create_ccpo() - owner = user_with() - rando = user_with() - - portfolio = PortfolioFactory.create(owner=owner) - task_order = TaskOrderFactory.create(portfolio=portfolio) - monkeypatch.setattr( - "atst.routes.task_orders.signing.find_unsigned_ko_to", lambda *a: task_order - ) - - url = url_for("task_orders.record_signature", task_order_id=task_order.id) - get_url_assert_status(owner, url, 404) - get_url_assert_status(ccpo, url, 404) - get_url_assert_status(rando, url, 404) - - # task_orders.update -@pytest.mark.skip(reason="Update after TO form is fixed") def test_task_orders_update_access(post_url_assert_status): ccpo = user_with(PermissionSets.EDIT_PORTFOLIO_FUNDING) owner = user_with() From 2ea0efb60a843ee19397dc6056831a2a3109d70e Mon Sep 17 00:00:00 2001 From: leigh-mil Date: Thu, 20 Jun 2019 14:38:55 -0400 Subject: [PATCH 4/4] Update test --- tests/test_access.py | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/tests/test_access.py b/tests/test_access.py index 84657cca..c0e523d6 100644 --- a/tests/test_access.py +++ b/tests/test_access.py @@ -102,9 +102,9 @@ def get_url_assert_status(client, user_session): @pytest.fixture def post_url_assert_status(client, user_session): - def _get_url_assert_status(user, url, status): + def _get_url_assert_status(user, url, status, data=None): user_session(user) - resp = client.post(url) + resp = client.post(url, data=data) assert resp.status_code == status return _get_url_assert_status @@ -454,23 +454,24 @@ def test_task_orders_update_access(post_url_assert_status): owner = user_with() rando = user_with() portfolio = PortfolioFactory.create(owner=owner) + data = {"number": 1234567890} url = url_for("task_orders.update", portfolio_id=portfolio.id) - post_url_assert_status(owner, url, 200) - post_url_assert_status(ccpo, url, 200) - post_url_assert_status(rando, url, 200) + post_url_assert_status(owner, url, 302, data=data) + post_url_assert_status(ccpo, url, 302, data=data) + post_url_assert_status(rando, url, 404, data=data) task_order = TaskOrderFactory.create(portfolio=portfolio) url = url_for("task_orders.update", task_order_id=task_order.id) - post_url_assert_status(owner, url, 302) - post_url_assert_status(ccpo, url, 302) - post_url_assert_status(rando, url, 404) + post_url_assert_status(owner, url, 302, data=data) + post_url_assert_status(ccpo, url, 302, data=data) + post_url_assert_status(rando, url, 404, data=data) url = url_for("task_orders.update", portfolio_id=portfolio.id) - post_url_assert_status(owner, url, 302) - post_url_assert_status(ccpo, url, 302) - post_url_assert_status(rando, url, 404) + post_url_assert_status(owner, url, 302, data=data) + post_url_assert_status(ccpo, url, 302, data=data) + post_url_assert_status(rando, url, 404, data=data) def test_applications_application_team_access(get_url_assert_status):