Skip to content

Commit

Permalink
Fix URLs after using RTK params
Browse files Browse the repository at this point in the history
  • Loading branch information
louptheron committed Feb 4, 2025
1 parent 50dec49 commit 571df76
Show file tree
Hide file tree
Showing 31 changed files with 168 additions and 125 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/cicd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ jobs:
uses: actions/checkout@v4

- name: Download image
uses: ishworkh/docker-image-artifact-download@v1
uses: ishworkh/container-image-artifact-[email protected]
with:
image: monitorfish-app:${{ env.VERSION }}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,43 +4,42 @@ import fr.gouv.cnsp.monitorfish.domain.entities.logbook.LogbookMessage
import fr.gouv.cnsp.monitorfish.domain.entities.logbook.LogbookOperationType
import fr.gouv.cnsp.monitorfish.domain.entities.logbook.messages.Acknowledgment
import fr.gouv.cnsp.monitorfish.domain.entities.logbook.messages.LogbookMessageValue
import fr.gouv.cnsp.monitorfish.infrastructure.api.outputs.interfaces.BaseLogbookMessageDataOutput
import java.time.ZonedDateTime

data class LogbookMessageDataOutput(
val reportId: String? = null,
val operationNumber: String?,
val tripNumber: String? = null,
val referencedReportId: String? = null,
var isCorrected: Boolean? = false,
val operationType: LogbookOperationType,
val operationDateTime: ZonedDateTime? = null,
val activityDateTime: ZonedDateTime? = null,
val reportDateTime: ZonedDateTime? = null,
val integrationDateTime: ZonedDateTime? = null,
val internalReferenceNumber: String? = null,
val externalReferenceNumber: String? = null,
val ircs: String? = null,
val vesselName: String? = null,
/** ISO Alpha-3 country code. **/
val flagState: String? = null,
val imo: String? = null,
val messageType: String? = null,
var acknowledgment: Acknowledgment? = null,
var deleted: Boolean? = false,
val message: LogbookMessageValue? = null,
var rawMessage: String? = null,
val isSentByFailoverSoftware: Boolean,
) {
override val reportId: String?,
override val operationNumber: String?,
override val tripNumber: String?,
override val referencedReportId: String?,
override val isCorrectedByNewerMessage: Boolean,
override val operationType: LogbookOperationType,
override val operationDateTime: ZonedDateTime?,
override val activityDateTime: ZonedDateTime?,
override val reportDateTime: ZonedDateTime?,
override val integrationDateTime: ZonedDateTime?,
override val internalReferenceNumber: String?,
override val externalReferenceNumber: String?,
override val ircs: String?,
override val vesselName: String?,
override val flagState: String?,
override val imo: String?,
override val messageType: String?,
override val acknowledgment: Acknowledgment?,
override val isDeleted: Boolean,
override val message: LogbookMessageValue?,
override val isSentByFailoverSoftware: Boolean,
): BaseLogbookMessageDataOutput {
companion object {
fun fromLogbookMessage(logbookMessage: LogbookMessage) =
LogbookMessageDataOutput(
internalReferenceNumber = logbookMessage.internalReferenceNumber,
referencedReportId = logbookMessage.referencedReportId,
externalReferenceNumber = logbookMessage.externalReferenceNumber,
ircs = logbookMessage.ircs,
isCorrected = logbookMessage.isCorrectedByNewerMessage,
isCorrectedByNewerMessage = logbookMessage.isCorrectedByNewerMessage,
acknowledgment = logbookMessage.acknowledgment,
deleted = logbookMessage.isDeleted,
isDeleted = logbookMessage.isDeleted,
operationDateTime = logbookMessage.operationDateTime,
activityDateTime = logbookMessage.activityDateTime,
reportDateTime = logbookMessage.reportDateTime,
Expand All @@ -54,7 +53,6 @@ data class LogbookMessageDataOutput(
imo = logbookMessage.imo,
messageType = logbookMessage.messageType,
message = logbookMessage.message,
rawMessage = null,
isSentByFailoverSoftware = logbookMessage.isSentByFailoverSoftware,
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,34 +4,35 @@ import fr.gouv.cnsp.monitorfish.domain.entities.logbook.LogbookMessage
import fr.gouv.cnsp.monitorfish.domain.entities.logbook.LogbookOperationType
import fr.gouv.cnsp.monitorfish.domain.entities.logbook.messages.Acknowledgment
import fr.gouv.cnsp.monitorfish.domain.entities.logbook.messages.LogbookMessageValue
import fr.gouv.cnsp.monitorfish.infrastructure.api.outputs.interfaces.BaseLogbookMessageDataOutput
import java.time.ZonedDateTime

data class LogbookMessageDataOutput(
val reportId: String?,
val operationNumber: String?,
val tripNumber: String?,
val referencedReportId: String?,
val operationDateTime: ZonedDateTime?,
val activityDateTime: ZonedDateTime?,
val reportDateTime: ZonedDateTime?,
val integrationDateTime: ZonedDateTime?,
val internalReferenceNumber: String?,
val externalReferenceNumber: String?,
val ircs: String?,
val vesselName: String?,
val flagState: String?,
val imo: String?,
override val reportId: String?,
override val operationNumber: String?,
override val tripNumber: String?,
override val referencedReportId: String?,
override val operationDateTime: ZonedDateTime?,
override val activityDateTime: ZonedDateTime?,
override val reportDateTime: ZonedDateTime?,
override val integrationDateTime: ZonedDateTime?,
override val internalReferenceNumber: String?,
override val externalReferenceNumber: String?,
override val ircs: String?,
override val vesselName: String?,
override val flagState: String?,
override val imo: String?,
override val acknowledgment: Acknowledgment?,
override val isCorrectedByNewerMessage: Boolean,
override val isDeleted: Boolean,
override val isSentByFailoverSoftware: Boolean,
override val message: LogbookMessageValue?,
override val messageType: String?,
override val operationType: LogbookOperationType,
val rawMessage: String?,
val acknowledgment: Acknowledgment?,
val isCorrectedByNewerMessage: Boolean,
val isDeleted: Boolean,
val isSentByFailoverSoftware: Boolean,
val message: LogbookMessageValue?,
val messageType: String?,
val operationType: LogbookOperationType,
val tripGears: List<LogbookMessageGearDataOutput>?,
val tripSegments: List<LogbookMessageTripSegmentDataOutput>?,
) {
): BaseLogbookMessageDataOutput {
companion object {
fun fromLogbookMessage(logbookMessage: LogbookMessage): LogbookMessageDataOutput {
val tripGears =
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package fr.gouv.cnsp.monitorfish.infrastructure.api.outputs.interfaces

import fr.gouv.cnsp.monitorfish.domain.entities.logbook.LogbookOperationType
import fr.gouv.cnsp.monitorfish.domain.entities.logbook.messages.Acknowledgment
import fr.gouv.cnsp.monitorfish.domain.entities.logbook.messages.LogbookMessageValue
import java.time.ZonedDateTime

interface BaseLogbookMessageDataOutput {
val reportId: String?
val operationNumber: String?
val tripNumber: String?
val referencedReportId: String?
val operationDateTime: ZonedDateTime?
val activityDateTime: ZonedDateTime?
val reportDateTime: ZonedDateTime?
val integrationDateTime: ZonedDateTime?
val internalReferenceNumber: String?
val externalReferenceNumber: String?
val ircs: String?
val vesselName: String?
val flagState: String?
val imo: String?
val acknowledgment: Acknowledgment?
val isCorrectedByNewerMessage: Boolean
val isDeleted: Boolean
val isSentByFailoverSoftware: Boolean
val message: LogbookMessageValue?
val messageType: String?
val operationType: LogbookOperationType
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ context('BackOffice > Regulation Table > Table', () => {
cy.wait(1000)
})

it('regulatory zones are displayed by layer name and law schemas', () => {
it('regulatory zones are displayed by layer name and law types', () => {
cy.get('[data-cy="backoffice-search-regulation"]').type('dra')
cy.get('[data-cy="Reg. NAMO"]').eq(0).click()
cy.get('[data-cy="backoffice-search-regulation"]').type('{backspace}{backspace}{backspace}')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,8 +124,8 @@ context('Vessel sidebar controls buttons', () => {

// Then
cy.wait('@getPositions').then(({ request }) => {
expect(request.url).contains(`${startDateAsDayjs.format('DD')}T00:00:00.000Z`)
expect(request.url).contains(`${endDateAsDayjs.format('DD')}T23:59:59.000Z`)
expect(request.url).contains(encodeURIComponent(`${startDateAsDayjs.format('DD')}T00:00:00.000Z`))
expect(request.url).contains(encodeURIComponent(`${endDateAsDayjs.format('DD')}T23:59:59.000Z`))
})

cy.wait(200)
Expand Down
10 changes: 6 additions & 4 deletions frontend/cypress/e2e/main_window/vessel_sidebar/ers_vms.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -91,8 +91,9 @@ context('Vessel sidebar ers/vms tab', () => {
// Go to the detail of a beacon malfunction and go back to resume
cy.intercept(
'GET',
'bff/v1/vessels/find?vesselId=1&internalReferenceNumber=FAK000999999&externalReferenceNumber=DONTSINK' +
'&IRCS=CALLME&vesselIdentifier=INTERNAL_REFERENCE_NUMBER&trackDepth=TWELVE_HOURS&afterDateTime=&beforeDateTime='
'bff/v1/vessels/find?afterDateTime=&beforeDateTime=&externalReferenceNumber=DONTSINK' +
'&internalReferenceNumber=FAK000999999&IRCS=CALLME&trackDepth=TWELVE_HOURS' +
'&vesselId=1&vesselIdentifier=INTERNAL_REFERENCE_NUMBER',
).as('openVessel')
openVesselBySearch('Pheno')
cy.wait('@openVessel')
Expand All @@ -110,8 +111,9 @@ context('Vessel sidebar ers/vms tab', () => {
// Search for another vessel
cy.intercept(
'GET',
'bff/v1/vessels/find?vesselId=2&internalReferenceNumber=U_W0NTFINDME&externalReferenceNumber=TALK2ME' +
'&IRCS=QGDF&vesselIdentifier=INTERNAL_REFERENCE_NUMBER&trackDepth=TWELVE_HOURS&afterDateTime=&beforeDateTime='
'bff/v1/vessels/find?afterDateTime=&beforeDateTime=&externalReferenceNumber=TALK2ME' +
'&internalReferenceNumber=U_W0NTFINDME&IRCS=QGDF&trackDepth=TWELVE_HOURS' +
'&vesselId=2&vesselIdentifier=INTERNAL_REFERENCE_NUMBER',
).as('openVesselTwo')
cy.intercept('GET', '/bff/v1/vessels/beacon_malfunctions*').as('vesselTwoBeaconMalfunctions')
cy.get('*[data-cy^="vessel-search-selected-vessel-close-title"]', { timeout: 10000 }).click()
Expand Down
12 changes: 6 additions & 6 deletions frontend/cypress/e2e/main_window/vessel_sidebar/logbook.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -152,9 +152,9 @@ context('Vessel sidebar logbook tab', () => {
.its('response.url')
.should(
'have.string',
'/bff/v1/vessels/positions?internalReferenceNumber=FAK000999999' +
'&externalReferenceNumber=DONTSINK&IRCS=CALLME&vesselIdentifier=INTERNAL_REFERENCE_NUMBER&trackDepth=CUSTOM' +
'&afterDateTime=2019-02-16T21:05:00.000Z&beforeDateTime=2019-10-15T13:01:00.000Z'
encodeURIComponent('/bff/v1/vessels/positions?afterDateTime=2019-02-16T21:05:00.000Z' +
'&beforeDateTime=2019-10-15T13:01:00.000Z&externalReferenceNumber=DONTSINK&internalReferenceNumber=FAK000999999' +
'&IRCS=CALLME&trackDepth=CUSTOM&vesselIdentifier=INTERNAL_REFERENCE_NUMBER')
)

cy.get('*[data-cy^="fishing-activity-name"]').should('exist').should('have.length', 4)
Expand All @@ -171,9 +171,9 @@ context('Vessel sidebar logbook tab', () => {
.its('response.url')
.should(
'have.string',
'/bff/v1/vessels/positions?internalReferenceNumber=FAK000999999' +
'&externalReferenceNumber=DONTSINK&IRCS=CALLME&vesselIdentifier=INTERNAL_REFERENCE_NUMBER' +
'&trackDepth=TWELVE_HOURS&afterDateTime=&beforeDateTime='
encodeURIComponent('/bff/v1/vessels/positions?&afterDateTime=&beforeDateTime=' +
'&externalReferenceNumber=DONTSINK&internalReferenceNumber=FAK000999999' +
'&IRCS=CALLME&trackDepth=TWELVE_HOURS&vesselIdentifier=INTERNAL_REFERENCE_NUMBER')
)
cy.get('*[data-cy^="fishing-activity-name"]').should('not.exist')
// Go back to the default track depth
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ context('Offline management', () => {
// Given
cy.intercept(
'GET',
'bff/v1/vessels/find?vesselId=1&internalReferenceNumber=FAK000999999&externalReferenceNumber=DONTSINK' +
'&IRCS=CALLME&vesselIdentifier=INTERNAL_REFERENCE_NUMBER&trackDepth=TWELVE_HOURS&afterDateTime=&beforeDateTime=',
'bff/v1/vessels/find?afterDateTime=&beforeDateTime=&externalReferenceNumber=DONTSINK' +
'&internalReferenceNumber=FAK000999999&IRCS=CALLME&trackDepth=TWELVE_HOURS' +
'&vesselId=1&vesselIdentifier=INTERNAL_REFERENCE_NUMBER',
{ statusCode: 400 }
).as('openVessel')
openVesselBySearch('Pheno')
Expand Down Expand Up @@ -82,8 +83,9 @@ context('Offline management', () => {
{
method: 'GET',
path:
'/bff/v1/vessels/find?vesselId=1&internalReferenceNumber=FAK000999999&externalReferenceNumber=DONTSINK' +
'&IRCS=CALLME&vesselIdentifier=INTERNAL_REFERENCE_NUMBER&trackDepth=TWELVE_HOURS&afterDateTime=&beforeDateTime=',
'bff/v1/vessels/find?afterDateTime=&beforeDateTime=&externalReferenceNumber=DONTSINK' +
'&internalReferenceNumber=FAK000999999&IRCS=CALLME&trackDepth=TWELVE_HOURS' +
'&vesselId=1&vesselIdentifier=INTERNAL_REFERENCE_NUMBER',
times: 2
},
{ statusCode: 400 }
Expand All @@ -96,17 +98,19 @@ context('Offline management', () => {
cy.get('*[data-cy="vessel-sidebar-error"]').contains("Nous n'avons pas pu récupérer les informations du navire")
cy.intercept(
'GET',
'bff/v1/vessels/find?vesselId=1&internalReferenceNumber=FAK000999999&externalReferenceNumber=DONTSINK' +
'&IRCS=CALLME&vesselIdentifier=INTERNAL_REFERENCE_NUMBER&trackDepth=TWELVE_HOURS&afterDateTime=&beforeDateTime='
'bff/v1/vessels/find?afterDateTime=&beforeDateTime=&externalReferenceNumber=DONTSINK' +
'&internalReferenceNumber=FAK000999999&IRCS=CALLME&trackDepth=TWELVE_HOURS' +
'&vesselId=1&vesselIdentifier=INTERNAL_REFERENCE_NUMBER',
).as('openVessel')
cy.clickButton('Réessayer')
cy.wait('@openVessel')
cy.get('*[data-cy="vessel-sidebar-error"]').should('not.exist')

// When clicking on Resume tab
cy.intercept(
'bff/v1/vessels/find?vesselId=1&internalReferenceNumber=FAK000999999&externalReferenceNumber=DONTSINK' +
'&IRCS=CALLME&vesselIdentifier=INTERNAL_REFERENCE_NUMBER&trackDepth=TWELVE_HOURS&afterDateTime=&beforeDateTime=',
'bff/v1/vessels/find?afterDateTime=&beforeDateTime=&externalReferenceNumber=DONTSINK' +
'&internalReferenceNumber=FAK000999999&IRCS=CALLME&trackDepth=TWELVE_HOURS' +
'&vesselId=1&vesselIdentifier=INTERNAL_REFERENCE_NUMBER',
cy.spy().as('openVesselSpyed')
)
cy.get('*[data-cy="vessel-menu-summary"').click()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -238,11 +238,11 @@ context('Side Window > Beacon Malfunction Board', () => {
cy.intercept(
'GET',
new RegExp(
`bff\\/v1\\/vessels\\/find\\?vesselId=1&internalReferenceNumber=FAK000999999` +
`&externalReferenceNumber=DONTSINK&IRCS=CALLME&vesselIdentifier=INTERNAL_REFERENCE_NUMBER` +
`&trackDepth=CUSTOM` +
`&afterDateTime=${oneWeeksBeforeDate.format('YYYY-MM-DD')}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z` +
`&beforeDateTime=${oneWeeksBeforePlusOneDayDate.format('YYYY-MM-DD')}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z`
`bff\\/v1\\/vessels\\/find\\?` +
`&afterDateTime=${oneWeeksBeforeDate.format('YYYY-MM-DD')}T\\d{2}%3A\\d{2}%3A\\d{2}\\.\\d{3}Z` +
`&beforeDateTime=${oneWeeksBeforePlusOneDayDate.format('YYYY-MM-DD')}T\\d{2}%3A\\d{2}%3A\\d{2}\\.\\d{3}Z` +
`&externalReferenceNumber=DONTSINK&internalReferenceNumber=FAK000999999` +
`&IRCS=CALLME&trackDepth=CUSTOM&vesselId=1&vesselIdentifier=INTERNAL_REFERENCE_NUMBER`
)
).as('showVesselPositionsOnMap')
cy.get('*[data-cy="side-window-beacon-malfunctions-detail-show-vessel"]').click()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ context('Side Window > Manual Prior Notification Form > Form', () => {
cy.contains('Créer le préavis').should('be.enabled')
})

it('Should calculate and display manual prior notification fleet segments, risk factor & schemas', () => {
it('Should calculate and display manual prior notification fleet segments, risk factor & types', () => {
// -------------------------------------------------------------------------
// Add

Expand Down Expand Up @@ -402,7 +402,7 @@ context('Side Window > Manual Prior Notification Form > Form', () => {
})
})

it('Should only recalculate manual prior notification fleet segments, risk factor & schemas when necessary (creation)', () => {
it('Should only recalculate manual prior notification fleet segments, risk factor & types when necessary (creation)', () => {
cy.intercept('POST', '/bff/v1/prior_notifications/manual/compute').as('computePriorNotification')
cy.resetCountRequestsByAlias('@computePriorNotification')

Expand Down Expand Up @@ -446,7 +446,7 @@ context('Side Window > Manual Prior Notification Form > Form', () => {
cy.countRequestsByAlias('@computePriorNotification', 1500).should('be.equal', 1)
})

it('Should only recalculate manual prior notification fleet segments, risk factor & schemas when necessary (edition)', () => {
it('Should only recalculate manual prior notification fleet segments, risk factor & types when necessary (edition)', () => {
cy.intercept('POST', '/bff/v1/prior_notifications/manual/compute').as('computePriorNotification')
cy.resetCountRequestsByAlias('@computePriorNotification')

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,13 +92,9 @@ context('Side Window > Mission Form > Sea Control', () => {

cy.intercept(
'GET',
'/bff/v1/vessels/find?vesselId=2&' +
'internalReferenceNumber=U_W0NTFINDME&' +
'externalReferenceNumber=TALK2ME&' +
'IRCS=QGDF&' +
'vesselIdentifier=&' +
'trackDepth=TWELVE_HOURS&' +
'afterDateTime=&beforeDateTime='
'bff/v1/vessels/find?afterDateTime=&beforeDateTime=&externalReferenceNumber=TALK2ME' +
'&internalReferenceNumber=U_W0NTFINDME&IRCS=QGDF&trackDepth=TWELVE_HOURS' +
'&vesselId=2&vesselIdentifier=',
).as('showVessel')
cy.get('a:contains("Voir la fiche")').click()
cy.wait('@showVessel')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ context('Side Window > Prior Notification List > VesselFilter Bar', () => {
cy.get('.Table-SimpleTable tr').should('have.length.to.be.greaterThan', 0)
})

it('Should filter prior notifications by schemas', () => {
it('Should filter prior notifications by types', () => {
openSideWindowPriorNotificationListAsSuperUser()

cy.intercept('GET', `${apiPathBase}*priorNotificationTypes=${encodeURI('Préavis type A,Préavis type C')}*`).as(
Expand Down
6 changes: 2 additions & 4 deletions frontend/src/api/alert.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,7 @@ export const alertApi = monitorfishApi.injectEndpoints({
}),
getSilencedAlerts: builder.query<LEGACY_SilencedAlert[], void>({
query: () => '/operational_alerts/silenced',
transformErrorResponse: response => new FrontendApiError(ALERTS_ERROR_MESSAGE, response),
transformResponse: (response: SilencedAlert[]) => response
transformErrorResponse: response => new FrontendApiError(ALERTS_ERROR_MESSAGE, response)
}),
silenceAlert: builder.mutation<
LEGACY_SilencedAlert,
Expand All @@ -71,8 +70,7 @@ export const alertApi = monitorfishApi.injectEndpoints({
method: 'PUT',
url: `/operational_alerts/${id}/silence`
}),
transformErrorResponse: response => new FrontendApiError(SILENCE_ALERT_ERROR_MESSAGE, response),
transformResponse: (response: SilencedAlert) => response
transformErrorResponse: response => new FrontendApiError(SILENCE_ALERT_ERROR_MESSAGE, response)
}),
validateAlert: builder.mutation<void, string>({
query: id => ({
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/api/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ export const monitorfishApi = createApi({

if (result.error) {
const error: CustomResponseError = {
path: typeof args === 'string' ? args : args.url,
path: `/bff/v1${typeof args === 'string' ? args : args.url}`,
requestData: typeof args === 'string' ? undefined : args.body,
responseData: result.error.data as BackendApi.ResponseBodyError,
status: result.error.status
Expand Down
Loading

0 comments on commit 571df76

Please sign in to comment.