Skip to content

Commit

Permalink
Update export project details specs
Browse files Browse the repository at this point in the history
  • Loading branch information
dredmonds committed Feb 11, 2025
1 parent a091455 commit ea67d1c
Showing 1 changed file with 48 additions and 28 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,80 +6,100 @@ import {
formatDate,
DATE_FORMAT_MONTH_YEAR,
} from '../../../../../src/client/utils/date-utils'
import { exportFaker } from '../../fakers/export'
import fixtures from '../../fixtures'

const {
assertBreadcrumbs,
assertKeyValueTable,
assertUrl,
} = require('../../support/assertions')

describe('Export Details summary ', () => {
const exportItem = exportFaker()
describe('Export Project Details summary ', () => {
const exportProjectDetails = fixtures.export.exportProjectDetails

context('when summary table renders', () => {
beforeEach(() => {
cy.intercept('GET', `/api-proxy/v4/export/${exportItem.id}`, {
body: exportItem,
cy.intercept('GET', `/api-proxy/v4/export/${exportProjectDetails.id}`, {
body: exportProjectDetails,
}).as('getExportItemApiRequest')
cy.visit(`/export/${exportItem.id}/details`)
cy.visit(`/export/${exportProjectDetails.id}/details`)
})

it('should render breadcrumbs', () => {
assertBreadcrumbs({
Home: urls.exportPipeline.index(),
[exportItem.title]: null,
[exportProjectDetails.title]: null,
})
})

it('shoud render a company link and page heading', () => {
cy.get('[data-test=export-company-link]')
.should('have.text', exportProjectDetails.company.name.toUpperCase())
.should(
'have.attr',
'href',
`/companies/${exportProjectDetails.company.id}`
)

cy.get('[data-test="heading"]').should(
'have.text',
exportProjectDetails.title
)
})

it('should display the "Export" details summary table', () => {
const estimatedExportValue = `${
exportItem.estimated_export_value_years?.name
} / ${currencyGBP(exportItem.estimated_export_value_amount)}`
exportProjectDetails.estimated_export_value_years?.name
} / ${currencyGBP(exportProjectDetails.estimated_export_value_amount)}`

const estimatedWinDate = formatDate(
exportItem.estimated_win_date,
exportProjectDetails.estimated_win_date,
DATE_FORMAT_MONTH_YEAR
)
assertKeyValueTable('bodyMainContent', {
'Export title': exportItem.title,
Owner: exportItem.owner.name,
'Team members': exportItem.team_members.map((obj) => obj.name).join(''),
'Export title': exportProjectDetails.title,
Owner: exportProjectDetails.owner.name,
'Team members': exportProjectDetails.team_members
.map((obj) => obj.name)
.join(''),
'Total estimated export value': estimatedExportValue,
'Estimated date for win': estimatedWinDate,
Status: capitalize(exportItem.status),
'Export potential': capitalize(exportItem.export_potential),
Destination: exportItem.destination_country.name,
'Main sector': exportItem.sector.name,
'Company contacts': exportItem.contacts.map((obj) => obj.name).join(''),
'Exporter experience': exportItem.exporter_experience.name,
Notes: exportItem.notes,
Status: capitalize(exportProjectDetails.status),
'Export potential': capitalize(exportProjectDetails.export_potential),
Destination: exportProjectDetails.destination_country.name,
'Main sector': exportProjectDetails.sector.name,
'Company contacts': exportProjectDetails.contacts
.map((obj) => obj.name)
.join(''),
'Exporter experience': exportProjectDetails.exporter_experience.name,
Notes: 'Not set',
})
})
})

context('when the form edit button is clicked', () => {
beforeEach(() => {
cy.intercept('GET', `/api-proxy/v4/export/${exportItem.id}`, {
body: exportItem,
cy.intercept('GET', `/api-proxy/v4/export/${exportProjectDetails.id}`, {
body: exportProjectDetails,
}).as('getExportItemApiRequest')
cy.visit(`/export/${exportItem.id}/details`)
cy.visit(`/export/${exportProjectDetails.id}/details`)
})
it('the form should redirect to the edit page', () => {
cy.get('[data-test="edit-export-details-button"]').click()
assertUrl(urls.exportPipeline.edit(exportItem.id))
assertUrl(urls.exportPipeline.edit(exportProjectDetails.id))
})
})

context('when the form delete button is clicked', () => {
beforeEach(() => {
cy.intercept('GET', `/api-proxy/v4/export/${exportItem.id}`, {
body: exportItem,
cy.intercept('GET', `/api-proxy/v4/export/${exportProjectDetails.id}`, {
body: exportProjectDetails,
}).as('getExportItemApiRequest')
cy.visit(`/export/${exportItem.id}/details`)
cy.visit(`/export/${exportProjectDetails.id}/details`)
})
it('the form should redirect to the delete page', () => {
cy.get('[data-test="delete-export-details-button"]').click()
assertUrl(urls.exportPipeline.delete(exportItem.id))
assertUrl(urls.exportPipeline.delete(exportProjectDetails.id))
})
})
})

0 comments on commit ea67d1c

Please sign in to comment.