From c9ca22899d13c9a018e188ff324a8721f1005c2b Mon Sep 17 00:00:00 2001 From: Patrick Smith Date: Fri, 22 Feb 2019 14:25:08 -0500 Subject: [PATCH] Add some tests for portfolio index routes --- .../portfolios/test_portfolios_index.py | 51 ++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/tests/routes/portfolios/test_portfolios_index.py b/tests/routes/portfolios/test_portfolios_index.py index 5899f307..39849480 100644 --- a/tests/routes/portfolios/test_portfolios_index.py +++ b/tests/routes/portfolios/test_portfolios_index.py @@ -1,6 +1,12 @@ from flask import url_for -from tests.factories import PortfolioFactory, UserFactory +from tests.factories import ( + random_future_date, + random_past_date, + PortfolioFactory, + TaskOrderFactory, + UserFactory, +) from atst.utils.localization import translate @@ -40,3 +46,46 @@ def test_portfolio_index_without_existing_portfolios(client, user_session): assert ( translate("portfolios.index.empty.start_button").encode("utf8") in response.data ) + + +def test_portfolio_admin_screen(client, user_session): + portfolio = PortfolioFactory.create() + user_session(portfolio.owner) + response = client.get( + url_for("portfolios.portfolio_admin", portfolio_id=portfolio.id) + ) + assert response.status_code == 200 + assert portfolio.name in response.data.decode() + + +def test_portfolio_reports(client, user_session): + portfolio = PortfolioFactory.create( + applications=[ + {"name": "application1", "environments": [{"name": "application1 prod"}]} + ] + ) + task_order = TaskOrderFactory.create( + number="42", + start_date=random_past_date(), + end_date=random_future_date(), + portfolio=portfolio, + ) + user_session(portfolio.owner) + response = client.get( + url_for("portfolios.portfolio_reports", portfolio_id=portfolio.id) + ) + assert response.status_code == 200 + assert portfolio.name in response.data.decode() + expiration_date = task_order.end_date.strftime("%Y-%m-%d") + assert expiration_date in response.data.decode() + + +def test_portfolio_reports_with_mock_portfolio(client, user_session): + portfolio = PortfolioFactory.create(name="Aardvark") + user_session(portfolio.owner) + response = client.get( + url_for("portfolios.portfolio_reports", portfolio_id=portfolio.id) + ) + assert response.status_code == 200 + assert portfolio.name in response.data.decode() + assert "$237,617.00 Total spend to date" in response.data.decode()