Skip to content

Commit

Permalink
Merge branch 'main' into 12974-text-key-not-updated-for-options-when-…
Browse files Browse the repository at this point in the history
…edited-from-text-editor
  • Loading branch information
Jondyr authored Sep 12, 2024
2 parents a0ad98f + 294807e commit 93dbab3
Show file tree
Hide file tree
Showing 7 changed files with 61 additions and 36 deletions.
5 changes: 3 additions & 2 deletions .github/workflows/deploy-designer.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
construct-environments-array:
uses: ./.github/workflows/template-construct-environments.yaml
with:
environments: ${{ github.event.inputs.environments || 'staging,prod' }}
environments: ${{ github.event.inputs.environments || 'staging,preapproved-prod' }}

determine-tag:
needs: get-short-sha
Expand Down Expand Up @@ -103,9 +103,10 @@ jobs:
tag: ${{ needs.determine-tag.outputs.tag }}
registry-name: altinntjenestercontainerregistry.azurecr.io
environment: ${{ matrix.environment }}
artifact-environment: ${{ matrix.environment == 'preapproved-prod' && 'prod' || matrix.environment }}
config-chart-name: altinn-designer-config
artifact-name: altinn-designer
helm-set-arguments: environmentName=${{ matrix.environment }},chartVersion=0.1.0+${{ needs.determine-tag.outputs.tag }},imageTag=${{ needs.determine-tag.outputs.tag }},dbMigrationsTag=${{ needs.determine-tag.outputs.tag }}
helm-set-arguments: environmentName=${{ matrix.environment == 'preapproved-prod' && 'prod' || matrix.environment }},chartVersion=0.1.0+${{ needs.determine-tag.outputs.tag }},imageTag=${{ needs.determine-tag.outputs.tag }},dbMigrationsTag=${{ needs.determine-tag.outputs.tag }}
secrets:
client-id: ${{ secrets.AZURE_CLIENT_ID_FC }}
tenant-id: ${{ secrets.AZURE_TENANT_ID_FC }}
Expand Down
9 changes: 7 additions & 2 deletions .github/workflows/template-flux-config-push.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ on:
environment:
required: true
type: string
artifact-environment:
required: false
type: string
config-chart-name:
required: true
type: string
Expand Down Expand Up @@ -72,12 +75,14 @@ jobs:
- name: Push config artifact
run: |
flux push artifact oci://${{ inputs.registry-name }}/configs/${{ inputs.artifact-name }}-${{ inputs.environment }}:${{ inputs.tag }} \
artifact_env=${{ inputs.artifact-environment || inputs.environment }}
flux push artifact oci://${{ inputs.registry-name }}/configs/${{ inputs.artifact-name }}-${artifact_env}:${{ inputs.tag }} \
--path="./${{ inputs.config-chart-name }}-rendered" \
--source="$(git config --get remote.origin.url)" \
--revision="$(git branch --show-current)/$(git rev-parse HEAD)"
- name: Tag artifact as latest
run: |
flux tag artifact oci://${{ inputs.registry-name }}/configs/${{ inputs.artifact-name }}-${{ inputs.environment }}:${{ inputs.tag }} --tag latest
artifact_env=${{ inputs.artifact-environment || inputs.environment }}
flux tag artifact oci://${{ inputs.registry-name }}/configs/${{ inputs.artifact-name }}-${artifact_env}:${{ inputs.tag }} --tag latest
30 changes: 15 additions & 15 deletions frontend/language/src/nb.json
Original file line number Diff line number Diff line change
Expand Up @@ -628,8 +628,8 @@
"process_editor.configuration_panel_custom_receipt_info": "Hvis du heller vil lage din egen kvittering, kan du opprette den her. Kvitteringen du lager selv vil overstyre standardkvitteringen.",
"process_editor.configuration_panel_custom_receipt_layout_set_name": "Navn på sidegruppe: ",
"process_editor.configuration_panel_custom_receipt_layout_set_name_validation": "Navnet må ha minst 2 tegn",
"process_editor.configuration_panel_custom_receipt_navigate_to_lage_button": "Gå til Lage",
"process_editor.configuration_panel_custom_receipt_navigate_to_lage_title": "Gå til Lage for å utforme kvitteringen din",
"process_editor.configuration_panel_custom_receipt_navigate_to_design_button": "Gå til Utforming",
"process_editor.configuration_panel_custom_receipt_navigate_to_design_title": "Gå til Utforming for å utforme kvitteringen din",
"process_editor.configuration_panel_custom_receipt_select_data_model_label": "Datamodellknytning",
"process_editor.configuration_panel_custom_receipt_spinner_title": "Laster inn kvittering",
"process_editor.configuration_panel_custom_receipt_textfield_label": "Navn på sidegruppe",
Expand Down Expand Up @@ -676,7 +676,7 @@
"process_editor.not_found_process_error_message": "Det finnes ingen prosess definert innenfor BPMN, Du kan sjekke om prosessen finnes i BPMN-filen.",
"process_editor.not_found_process_heading": "Det er ingen tilgjengelig prosess",
"process_editor.recommended_action.new_name": "Gi oppgaven et navn",
"process_editor.recommended_action.new_name_description": "Du finner lettere igjen oppgaven på Lage-siden, hvis du gir den et eget navn. Hvis du velger Hopp over, får oppgaven en tilfeldig navn. Du kan endre navnet senere.",
"process_editor.recommended_action.new_name_description": "Du finner lettere igjen oppgaven på Utformingssiden, hvis du gir den et eget navn. Hvis du velger Hopp over, får oppgaven et tilfeldig navn. Du kan endre navnet senere.",
"process_editor.recommended_action.new_name_label": "Navn på oppgaven",
"process_editor.save_bpmn_xml_error": "Noe gikk galt da prosessen skulle lagres.",
"process_editor.sequence_flow_configuration_add_new_rule": "Lag en ny logikkregel",
Expand Down Expand Up @@ -771,12 +771,12 @@
"right_menu.rules_calculations": "Regel for beregninger",
"right_menu.rules_calculations_add_alt": "Legg til regel for beregninger",
"right_menu.rules_calculations_deprecated_info": "Verktøyet er utdatert, så vi har tatt det bort. Det betyr at du ikke lenger kan legge til og redigere regler for beregninger i Studio, men du kan fortsatt lage dem i koden.",
"right_menu.rules_calculations_deprecated_info_title": "Vi har fjernet beregningsregler på Lage-siden",
"right_menu.rules_calculations_deprecated_info_title": "Vi har fjernet beregningsregler på Utforming-siden",
"right_menu.rules_calculations_edit_in_gitea": "Rediger beregninger direkte i Gitea",
"right_menu.rules_conditional_rendering": "Regel for vis/skjul felt",
"right_menu.rules_conditional_rendering_add_alt": "Legg til regel for vis/skjul felt",
"right_menu.rules_conditional_rendering_deprecated_info": "Verktøyet er utdatert, så vi har tatt det bort. Det betyr at du ikke lenger kan legge til og redigere regler for betinget visning i Studio. <0 href=\"{{expressionDocs}}\" >Vi anbefaler å bruke dynamiske uttrykk.</0>",
"right_menu.rules_conditional_rendering_deprecated_info_title": "Vi har fjernet regler for betinget visning på Lage-siden",
"right_menu.rules_conditional_rendering_deprecated_info_title": "Vi har fjernet regler for betinget visning på Utforming-siden",
"right_menu.rules_conditional_rendering_edit_in_gitea": "Rediger betingede visninger direkte i Gitea",
"right_menu.rules_empty": "Ingen regler lagt til...",
"right_menu.show_old_dynamics": "Vis gammelt verktøy for dynamikk",
Expand Down Expand Up @@ -1019,7 +1019,7 @@
"text_editor.variables_default_value": "<bold>Standardverdi:</bold> {{defaultValue}}",
"text_editor.variables_editing_not_supported": "Det, er ikke lagt til støtte for redigering av variabler i Studio.",
"top_menu.about": "Oversikt",
"top_menu.create": "Lage",
"top_menu.create": "Utforming",
"top_menu.dashboard": "Dashboard",
"top_menu.data_model": "Datamodell",
"top_menu.deploy": "Publiser",
Expand All @@ -1046,7 +1046,7 @@
"ux_editor.component_deletion_text": "Er du sikker på at du vil slette denne komponenten?",
"ux_editor.component_dropdown_set_preselected": "Sett forhåndsvalgt verdi for nedtrekksliste",
"ux_editor.component_group_deletion_text": "Er du sikker på at du vil slette denne gruppen?\nAlle komponenter i denne gruppen blir også slettet",
"ux_editor.component_help_text.Accordion": "Med Accordion-komponenten (trekkspilliste) kan du presentere mye innhold på liten plass i en eller flere rader. Brukerne kan klikke på hele raden, og åpne eller lukke visningen av innholdet under.",
"ux_editor.component_help_text.Accordion": "Med komponenten Trekkspilliste kan du presentere mye innhold på liten plass i en eller flere rader. Brukerne kan klikke på hele raden, og åpne eller lukke visningen av innholdet under.",
"ux_editor.component_help_text.AccordionGroup": "En samling med trekkspillister som vises vertikalt. Brukes for å gruppere lister som hører sammen.",
"ux_editor.component_help_text.ActionButton": "Knapp for å utløse en bestemt handling knyttet til det steget i prosessen som sluttbrukeren befinner seg på. Eksempler inkluderer 'sign', 'confirm', 'reject'.",
"ux_editor.component_help_text.Address": "Komponent for å fylle ut adresse. Poststedet blir slått opp automatisk, basert på postnummeret.",
Expand All @@ -1057,10 +1057,10 @@
"ux_editor.component_help_text.ButtonGroup": "En samling knapper som vises side om side horisontalt. Brukes for å gruppere knapper som hører sammen.",
"ux_editor.component_help_text.Checkboxes": "Du bruker avmerkingsbokser når brukeren skal kunne velge flere svar. Hvis brukeren bare skal velge ett av to alternativer, bruker du radioknapper.",
"ux_editor.component_help_text.Datepicker": "Datovelger som tilbyr en kalender brukeren kan velge dato fra.",
"ux_editor.component_help_text.Dropdown": "Bruk Nedtrekksliste når di vil at brukeren skal velge kun ett alternativ blant flere, for eksempel i en liste med stedsnavn. Du kan bruke radioknapper hvis bruken bare skal velge mellom to eller tre alternativer.",
"ux_editor.component_help_text.Dropdown": "Bruk Nedtrekksliste når du vil at brukeren skal velge kun ett alternativ blant flere, for eksempel i en liste med stedsnavn. Du kan bruke radioknapper hvis bruken bare skal velge mellom to eller tre alternativer.",
"ux_editor.component_help_text.FileUpload": "Komponent for å laste opp filer. Du kan angi hvilke filtyper som skal være tillatt, om brukeren skal kunne laste opp flere filer, samt spesifisere begrensing til fil-størrelse.",
"ux_editor.component_help_text.FileUploadWithTag": "Komponent for å laste opp filer med merking hentet fra en options-liste. Du kan angi hvilke filtyper som skal være tillatt, om brukeren skal kunne laste opp flere filer, samt spesifisere begrensing til fil-størrelse.",
"ux_editor.component_help_text.Grid": "Grid-komponenten brukes til å visuelt oppstille komponenter i en tabellvisning.",
"ux_editor.component_help_text.Grid": "Bruk Rutenett-komponenten til å ordne andre komponenter i en tabellvisning.",
"ux_editor.component_help_text.Group": "En samling av andre skjemakomponenter. Kan konfigureres til å være en repeterende gruppe.",
"ux_editor.component_help_text.Header": "Bruk titler konsistent for å etablere en tydelig hierarki i appen. H1 er brukt som tittel mens H2 og under kan brukes i appen for å strukturere innhold. Skriv alle titler med stor forbokstav.",
"ux_editor.component_help_text.IFrame": "IFrame-komponenten kan brukes til å rendre din egen HTML og CSS i en Altinn-app.",
Expand Down Expand Up @@ -1252,7 +1252,7 @@
"ux_editor.component_properties.triggers": "Feltet skal utløse:",
"ux_editor.component_properties.unit": "Enhet",
"ux_editor.component_properties.url": "Lenke (URL)",
"ux_editor.component_properties.useComponentGrid": "Bruk komponentens grid-oppsett",
"ux_editor.component_properties.useComponentGrid": "Bruk komponentens rutenettoppsett",
"ux_editor.component_properties.validFileEndings": "Skriv inn gyldige filtyper (Eksempel: .jpeg, .pdf, .png)",
"ux_editor.component_properties.validateOnBackward": "Validering ved navigering fremover",
"ux_editor.component_properties.validateOnForward": "Validering ved navigering bakover",
Expand All @@ -1266,8 +1266,8 @@
"ux_editor.component_properties_description.elements": "Hvilke elementer skal vises for instansinformasjonen",
"ux_editor.component_properties_description.pageBreak": "Valgfri sideskift før eller etter komponenten i PDF",
"ux_editor.component_properties_description.pagination": "Pagineringsvalg for repeterende gruppe",
"ux_editor.component_title.Accordion": "Accordion",
"ux_editor.component_title.AccordionGroup": "Accordion-gruppe",
"ux_editor.component_title.Accordion": "Trekkspilliste",
"ux_editor.component_title.AccordionGroup": "Nestet trekkspilliste",
"ux_editor.component_title.ActionButton": "Handlingsknapp",
"ux_editor.component_title.Address": "Adresse",
"ux_editor.component_title.AddressComponent": "Adresse",
Expand All @@ -1285,7 +1285,7 @@
"ux_editor.component_title.Dropdown": "Nedtrekksliste",
"ux_editor.component_title.FileUpload": "Vedlegg",
"ux_editor.component_title.FileUploadWithTag": "Vedlegg med merking",
"ux_editor.component_title.Grid": "Grid",
"ux_editor.component_title.Grid": "Rutenett",
"ux_editor.component_title.Group": "Gruppe",
"ux_editor.component_title.Header": "Tittel",
"ux_editor.component_title.IFrame": "IFrame",
Expand Down Expand Up @@ -1339,8 +1339,8 @@
"ux_editor.input_popover_label": "Gi nytt navn til siden",
"ux_editor.input_popover_save_button": "Lagre",
"ux_editor.latitude_label": "Latitude",
"ux_editor.loading_form_layout": "Laster inn formlayout",
"ux_editor.loading_page": "Laster inn lage siden",
"ux_editor.loading_form_layout": "Laster inn siden",
"ux_editor.loading_page": "Laster inn utforming",
"ux_editor.longitude_label": "Longitude",
"ux_editor.map_layer": "Kartlag",
"ux_editor.mobilePreview": "Mobilvisning",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ import {
describe('RedirectToCreatePageButton', () => {
afterEach(() => jest.clearAllMocks());

it('Checks that the button to go to "Lage" page has the correct href', () => {
it('Checks that the button to go to "Utforming" page has the correct href', () => {
renderRedirectToCreatePageButton();

const navigationButton = screen.getByRole('link', {
name: textMock('process_editor.configuration_panel_custom_receipt_navigate_to_lage_button'),
name: textMock('process_editor.configuration_panel_custom_receipt_navigate_to_design_button'),
});
expect(navigationButton).toHaveAttribute('href', '/editor/testOrg/testApp/ui-editor');
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,15 @@ export const RedirectToCreatePageButton = (): React.ReactElement => {
return (
<div className={classes.goToCreatePageWrapper}>
<RedirectBox
title={t('process_editor.configuration_panel_custom_receipt_navigate_to_lage_title')}
title={t('process_editor.configuration_panel_custom_receipt_navigate_to_design_title')}
>
<StudioButton asChild variant='primary' color='second' onClick={handleClick}>
<Link
href={packagesRouter.getPackageNavigationUrl('editorUiEditor')}
className={classes.link}
>
<PencilWritingIcon />
{t('process_editor.configuration_panel_custom_receipt_navigate_to_lage_button')}
{t('process_editor.configuration_panel_custom_receipt_navigate_to_design_button')}
</Link>
</StudioButton>
</RedirectBox>
Expand Down
33 changes: 30 additions & 3 deletions frontend/packages/shared/src/contexts/ServicesContext.test.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React, { type ReactNode } from 'react';
import { renderHook, screen, waitFor } from '@testing-library/react';
import { fireEvent, renderHook, screen, waitFor } from '@testing-library/react';
import type { ServicesContextProps } from './ServicesContext';
import { ServicesContextProvider, useServicesContext } from './ServicesContext';
import { queriesMock } from 'app-shared/mocks/queriesMock';
Expand Down Expand Up @@ -54,15 +54,42 @@ describe('ServicesContext', () => {
},
},
);
expect(await screen.findByText(textMock('api_errors.Unauthorized'))).toBeInTheDocument();
jest.runAllTimers();

const progressBar = await screen.findByRole('progressbar');
fireEvent.animationEnd(progressBar);

const container = await screen.findByText(textMock('api_errors.Unauthorized'));
expect(container).toBeInTheDocument();
fireEvent.animationEnd(container);

await waitFor(() => {
expect(queriesMock.logout).toHaveBeenCalled();
});

expect(mockConsoleError).toHaveBeenCalled();
});

it('displays the api error when the session is invalid or expired', async () => {
const logout = jest.fn().mockImplementation(() => Promise.resolve());

const { result } = renderHook(
() =>
useQuery({
queryKey: ['fetchData'],
queryFn: () => Promise.reject(createApiErrorMock(401, 'GT_03')),
retry: false,
}),
{
wrapper: ({ children }) => {
return wrapper({ children, queries: { logout } });
},
},
);

await waitFor(() => result.current.isError);
expect(await screen.findByText(textMock('api_errors.GT_03'))).toBeInTheDocument();
});

it('Displays a toast message for "GT_01" error code', async () => {
const errorCode = 'GT_01';
const { result } = renderHook(
Expand Down
12 changes: 2 additions & 10 deletions frontend/packages/shared/src/contexts/ServicesContext.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,6 @@ const handleError = (
meta: QueryMeta | MutationMeta,
logout: () => Promise<void>,
): void => {
// TODO : log axios errors

const renderToast = (key: string, options: ToastOptions = {}) => {
const errorMessageKey = `api_errors.${key}`;
if (i18n.exists(errorMessageKey)) {
Expand All @@ -53,17 +51,11 @@ const handleError = (
const errorCode = error?.response?.data?.errorCode;
const unAuthorizedErrorCode = error?.response?.status === ServerCodes.Unauthorized;

const LogOutUser = () => logout().then(() => window.location.assign(userLogoutAfterPath()));

if (unAuthorizedErrorCode) {
renderToast(errorCode || 'Unauthorized', {
onClose: LogOutUser,
return renderToast(errorCode || 'Unauthorized', {
onClose: () => logout().then(() => window.location.assign(userLogoutAfterPath())),
autoClose: LOG_OUT_TIMER_MS,
});
setTimeout(() => {
LogOutUser();
}, LOG_OUT_TIMER_MS);
return;
}

if (errorCode) {
Expand Down

0 comments on commit 93dbab3

Please sign in to comment.