Better incorporate fixture data into reporting

Before this commit, if a portfolio wasn't present in the spending fixture
data, the reporting screen would be empty -- even if the portfolio had
applications and environments associated with it on the database. Now,
0s appear if an application and / or environment isn't present in the
fixture data.
This commit is contained in:
graham-dds
2019-12-27 11:11:00 -05:00
parent 2cb2b48bba
commit 490d778743
3 changed files with 51 additions and 26 deletions

View File

@@ -1,4 +1,5 @@
from atst.domain.csp.reports import MockReportingProvider
from tests.factories import PortfolioFactory
def test_get_environment_monthly_totals():
@@ -20,6 +21,11 @@ def test_get_environment_monthly_totals():
def test_get_application_monthly_totals():
portfolio = PortfolioFactory.create(
applications=[
{"name": "Test Application", "environments": [{"name": "Z"}, {"name": "A"}]}
],
)
application = {
"name": "Test Application",
"environments": [
@@ -42,7 +48,9 @@ def test_get_application_monthly_totals():
],
}
totals = MockReportingProvider._get_application_monthly_totals(application)
totals = MockReportingProvider._get_application_monthly_totals(
portfolio, application
)
assert totals["name"] == "Test Application"
assert totals["this_month"] == 300
assert totals["last_month"] == 700