diff --git a/libs/domains/audit-logs/feature/src/lib/audit-logs/audit-logs.spec.tsx b/libs/domains/audit-logs/feature/src/lib/audit-logs/audit-logs.spec.tsx index 68d26715f93..766ec71a6a0 100644 --- a/libs/domains/audit-logs/feature/src/lib/audit-logs/audit-logs.spec.tsx +++ b/libs/domains/audit-logs/feature/src/lib/audit-logs/audit-logs.spec.tsx @@ -200,3 +200,14 @@ describe('AuditLogs layering', () => { expect(tableHeader).toHaveClass('z-dropdown') }) }) + +describe('AuditLogs event filter', () => { + it('should list the Operator update event types in the Event filter', async () => { + const { userEvent } = renderWithProviders() + + await userEvent.click(screen.getByText('Event')) + + const menuItems = screen.getAllByTestId('menuItem').map((item) => item.textContent) + expect(menuItems).toEqual(expect.arrayContaining(['Operator update', 'Maintenance operator'])) + }) +}) diff --git a/libs/domains/audit-logs/feature/src/lib/row-event/row-event.spec.tsx b/libs/domains/audit-logs/feature/src/lib/row-event/row-event.spec.tsx index 765cbda2d95..5b83acacbf9 100644 --- a/libs/domains/audit-logs/feature/src/lib/row-event/row-event.spec.tsx +++ b/libs/domains/audit-logs/feature/src/lib/row-event/row-event.spec.tsx @@ -127,6 +127,28 @@ describe('RowEvent', () => { } ) + it.each([ + [OrganizationEventType.OPERATOR_UPDATE, 'Operator Update', 'fa-rocket-launch'], + [OrganizationEventType.MAINTENANCE_OPERATOR, 'Maintenance · Operator Update', 'fa-wrench'], + [OrganizationEventType.TRIGGER_DEPLOY, 'Trigger Deploy', 'fa-rocket-launch'], + [OrganizationEventType.MAINTENANCE, 'Maintenance', 'fa-wrench'], + ])('should render %s with its label and icon', (eventType, label, iconClass) => { + renderWithProviders( + + ) + + expect(screen.getByTestId('tag')).toHaveTextContent(new RegExp(`^${label}$`)) + expect(screen.getByTestId('row-event').querySelector(`.${iconClass}`)).toBeInTheDocument() + }) + it('should render Agent task for the agentic workflow target type', () => { renderWithProviders( { - return eventName.split('_').map(upperCaseFirstLetter).join(' ') -} +const formatEventName = (eventType?: OrganizationEventType) => + match(eventType) + .with(OrganizationEventType.MAINTENANCE_OPERATOR, () => 'Maintenance · Operator Update') + .otherwise((type) => (type ?? '').split('_').map(upperCaseFirstLetter).join(' ')) const serviceOverviewUrl = (organizationId: string, projectId: string, environmentId: string, serviceId: string) => `/organization/${organizationId}/project/${projectId}/environment/${environmentId}/service/${serviceId}/overview` @@ -174,6 +175,7 @@ export function RowEvent(props: RowEventProps) { OrganizationEventType.TRIGGER_STOP, OrganizationEventType.TRIGGER_TERRAFORM_FORCE_UNLOCK, OrganizationEventType.TRIGGER_TERRAFORM_MIGRATE_STATE, + OrganizationEventType.OPERATOR_UPDATE, () => ) .with(OrganizationEventType.DELETE, OrganizationEventType.DELETED, () => ( @@ -181,7 +183,9 @@ export function RowEvent(props: RowEventProps) { )) .with(OrganizationEventType.CLONE, () => ) .with(OrganizationEventType.DRY_RUN, () => ) - .with(OrganizationEventType.MAINTENANCE, () => ) + .with(OrganizationEventType.MAINTENANCE, OrganizationEventType.MAINTENANCE_OPERATOR, () => ( + + )) .with(OrganizationEventType.FORCE_RUN_SUCCEEDED, () => ( )) @@ -235,7 +239,7 @@ export function RowEvent(props: RowEventProps) { - {formatEventName(event.event_type ?? '')} + {formatEventName(event.event_type)} {event.sub_target_type && ( diff --git a/package.json b/package.json index 26248dcb196..25c491e7ab9 100644 --- a/package.json +++ b/package.json @@ -78,7 +78,7 @@ "mermaid": "11.6.0", "monaco-editor": "0.53.0", "posthog-js": "1.345.1", - "qovery-typescript-axios": "1.1.1007", + "qovery-typescript-axios": "1.1.1010", "react": "19.3.0", "react-country-flag": "3.0.2", "react-datepicker": "4.12.0", diff --git a/yarn.lock b/yarn.lock index 6ece0fd2fff..06eda2225d7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6285,7 +6285,7 @@ __metadata: prettier: 3.2.5 prettier-plugin-tailwindcss: 0.5.14 pretty-quick: 4.0.0 - qovery-typescript-axios: 1.1.1007 + qovery-typescript-axios: 1.1.1010 qovery-ws-typescript-axios: 0.1.666 react: 19.3.0 react-country-flag: 3.0.2 @@ -24656,12 +24656,12 @@ __metadata: languageName: node linkType: hard -"qovery-typescript-axios@npm:1.1.1007": - version: 1.1.1007 - resolution: "qovery-typescript-axios@npm:1.1.1007" +"qovery-typescript-axios@npm:1.1.1010": + version: 1.1.1010 + resolution: "qovery-typescript-axios@npm:1.1.1010" dependencies: axios: 1.20.0 - checksum: f8662f1567d11edcbe0119c2db44ceeb0b1f0181517b31ca70c89173872dde9fde0f07087b48cbd0d81372c4399675191b520378e9021539ecca100182a5bba8 + checksum: a1957c4f49a2c1d131d3826751e0e650f8494c8819e8d1dba0f0989d69f76f7ef6588a3636e950a92cfb5c46b8380fa17863a47ced60d046f181ca31c1e94c01 languageName: node linkType: hard