|
1 | 1 | import type { Indicator } from '@/custom/ecospheres/model/indicator' |
| 2 | +import type { Dataservice, Reuse } from '@datagouv/components-next' |
| 3 | +import { dataserviceFactory } from 'cypress/support/factories/dataservices_factory' |
| 4 | +import { reuseFactory } from 'cypress/support/factories/reuses_factory' |
2 | 5 | import { createIndicator, createIndicatorResource } from './support' |
3 | 6 |
|
4 | 7 | describe('Indicator Detail View', () => { |
@@ -56,25 +59,6 @@ describe('Indicator Detail View', () => { |
56 | 59 | }) |
57 | 60 | }) |
58 | 61 |
|
59 | | - describe('Fichiers et API Tab', () => { |
60 | | - beforeEach(() => { |
61 | | - cy.visit(`/indicators/${indicator.id}`) |
62 | | - cy.contains('Fichiers et API').click() |
63 | | - }) |
64 | | - |
65 | | - it('should display axis annee values', () => { |
66 | | - cy.contains('2020').should('be.visible') |
67 | | - cy.contains('2021').should('be.visible') |
68 | | - cy.contains('2022').should('be.visible') |
69 | | - }) |
70 | | - |
71 | | - it('should display axis secteur values', () => { |
72 | | - cy.contains('transport').should('be.visible') |
73 | | - cy.contains('energie').should('be.visible') |
74 | | - cy.contains('agriculture').should('be.visible') |
75 | | - }) |
76 | | - }) |
77 | | - |
78 | 62 | describe('Custom Metadata In Technical Details Tab', () => { |
79 | 63 | beforeEach(() => { |
80 | 64 | cy.visit(`/indicators/${indicator.id}`) |
@@ -116,6 +100,51 @@ describe('Indicator Detail View', () => { |
116 | 100 | }) |
117 | 101 | }) |
118 | 102 |
|
| 103 | + describe('Réutilisations et API Tab', () => { |
| 104 | + it('should display dataservices when available', () => { |
| 105 | + const dataservices = dataserviceFactory.many<Dataservice>(2) |
| 106 | + const indicatorWithApis = createIndicator( |
| 107 | + {}, |
| 108 | + { enable_visualization: false } |
| 109 | + ) |
| 110 | + cy.mockDatasetAndRelatedObjects(indicatorWithApis, [], dataservices) |
| 111 | + cy.visit(`/indicators/${indicatorWithApis.id}`) |
| 112 | + cy.contains('Réutilisations et API').click() |
| 113 | + cy.contains(`${dataservices.length} API`).should('be.visible') |
| 114 | + cy.contains(dataservices[0].title).should('be.visible') |
| 115 | + cy.contains(dataservices[1].title).should('be.visible') |
| 116 | + }) |
| 117 | + |
| 118 | + it('should display empty state when no dataservices', () => { |
| 119 | + cy.visit(`/indicators/${indicator.id}`) |
| 120 | + cy.contains('Réutilisations et API').click() |
| 121 | + cy.contains("Il n'y a pas encore d'API pour cet indicateur.").should( |
| 122 | + 'be.visible' |
| 123 | + ) |
| 124 | + }) |
| 125 | + |
| 126 | + it('should display reuses when available', () => { |
| 127 | + const reuses = reuseFactory.many<Reuse>(2) |
| 128 | + const indicatorWithReuses = createIndicator( |
| 129 | + {}, |
| 130 | + { enable_visualization: false } |
| 131 | + ) |
| 132 | + cy.mockDatasetAndRelatedObjects(indicatorWithReuses, [], [], reuses) |
| 133 | + cy.visit(`/indicators/${indicatorWithReuses.id}`) |
| 134 | + cy.contains('Réutilisations et API').click() |
| 135 | + cy.contains(reuses[0].title).should('be.visible') |
| 136 | + cy.contains(reuses[1].title).should('be.visible') |
| 137 | + }) |
| 138 | + |
| 139 | + it('should display empty state when no reuses', () => { |
| 140 | + cy.visit(`/indicators/${indicator.id}`) |
| 141 | + cy.contains('Réutilisations et API').click() |
| 142 | + cy.contains( |
| 143 | + "Il n'y a pas encore de réutilisation pour cet indicateur." |
| 144 | + ).should('be.visible') |
| 145 | + }) |
| 146 | + }) |
| 147 | + |
119 | 148 | describe('No Datavisualisation Configured', () => { |
120 | 149 | it('should not display the previsualisation', () => { |
121 | 150 | cy.visit(`/indicators/${indicator.id}`) |
|
0 commit comments