The FedRAMP marketplace is an Angular JS static site that relies on data pulled in via the Github api. This task seeks to update the product and agency listing pages in the site by modifying the controller.
Current State
Currently, when a user visits an Agency Page (i.e. NSF), in the list of Products Used only products that directly are listed in the data JSON.
For some products there are underlying products and dependent products (For instance an infrastructure product that is used by a SaaS product). In the product listing, there is a list of Dependent Products, which lists the products that leverage the product authorization. For example, Datapipe lists Accenture as a dependent product.
What we are asking
We would like to display the agency and product relationships for the underlying products in the agency and product page listings, and for the number of products used in per agency to reflect this change.
Specific Acceptance Criteria
[X] Update the Product Page
When a user clicks on a product page listing of a product that has a dependent product,
Then they should see a list of the Agencies using this Service, that includes the agencies using the dependent product.
For example, for the Datapipe page should list the National Science Foundation because its dependent product is used by that agency.
[X] Update the Agency Page
When a user clicks on a agency page listing page,
And that agency uses a product with is a dependent product of another product,
Then the list Products Used should list by company any products that are used including those that are underlying products of any of the directly used products.
For example, for the NSF page, Datapipe Government Solutions Federal Community Cloud Platform should be listed under the header Datapipe Government Solutions
[X] Update the "Number of Products Used" for Agencies
Update count (everywhere it shown) of Products Used for every agency that uses products that are dependents of another, to include the additional underlying products.
For example, the National Science Foundation should say that it uses 5 products.
General Acceptance Criteria
All new functionality does not degrade code climate rating.
All new functionality will be covered by new unit tests.
There will be no decrease in test coverage.
Tests run on Travis-CI and do not break the build.
New features do not degrade accessibility (use pa11y/HTML Code Sniffer).
[x] Update the "Number of Products Used" for Agencies
[x] Does not degrade code climate rating
Note: Code Climate isn't setup to check PRs. However, eyeballing the code, it looks good to me. If Code Climate has any complaints, I suspect they would be quite minor.
[x] Covered by new unit tests
[x] No decrease in test coverage
Note: Coverage reporting prior to the PR does not appear to be setup correctly with coveralls.io, so I compared using LCOV output from the npm test command. Coverage increased.
[x] Tests run on Travis-CI and do not break the build
Background
The FedRAMP marketplace is an Angular JS static site that relies on data pulled in via the Github api. This task seeks to update the product and agency listing pages in the site by modifying the controller.
Current State
Currently, when a user visits an Agency Page (i.e. NSF), in the list of Products Used only products that directly are listed in the data JSON.
For some products there are underlying products and dependent products (For instance an infrastructure product that is used by a SaaS product). In the product listing, there is a list of
Dependent Products
, which lists the products that leverage the product authorization. For example, Datapipe lists Accenture as a dependent product.What we are asking
We would like to display the agency and product relationships for the underlying products in the agency and product page listings, and for the number of products used in per agency to reflect this change.
Specific Acceptance Criteria
Agencies using this Service
, that includes the agencies using the dependent product.National Science Foundation
because its dependent product is used by that agency.Products Used
should list by company any products that are used including those that are underlying products of any of the directly used products.Datapipe Government Solutions Federal Community Cloud Platform
should be listed under the header Datapipe Government SolutionsProducts Used
for every agency that uses products that are dependents of another, to include the additional underlying products.General Acceptance Criteria
All new functionality does not degrade code climate rating. All new functionality will be covered by new unit tests. There will be no decrease in test coverage. Tests run on Travis-CI and do not break the build. New features do not degrade accessibility (use pa11y/HTML Code Sniffer).