@@ -5,6 +5,19 @@ import {
55 shouldBypassLegacyConsoleRedirect ,
66} from './use-console-redirect-preference'
77
8+ const ORGANIZATION_ID = '3d542888-3d2c-474a-b1ad-712556db66da'
9+ const PROJECT_ID = 'd83a2f1f-d90b-461f-9a45-5e8aa2fe2bc0'
10+ const ENVIRONMENT_ID = '857809d7-4e6e-4fa0-8f4e-aff1d8381028'
11+ const CLUSTER_ID = '9f7691a9-40e7-48aa-b11d-749abfd4555d'
12+ const SERVICE_ID = '53a015b0-c6b3-45ce-a958-8d4975368797'
13+ const DATABASE_ID = '51f391cc-9fe0-44a0-98d7-642fd19e01f4'
14+ const DEPLOYMENT_ID = '1284100d-6209-4065-a42d-d60cf5f384cc'
15+ const EXECUTION_ID = 'a199113f-a0a3-44f9-ab6f-bb0fdf5cb4d1'
16+
17+ const ORGANIZATION_PATH = `/organization/${ ORGANIZATION_ID } `
18+ const PROJECT_PATH = `${ ORGANIZATION_PATH } /project/${ PROJECT_ID } `
19+ const ENVIRONMENT_PATH = `${ PROJECT_PATH } /environment/${ ENVIRONMENT_ID } `
20+
821describe ( 'useConsoleRedirectPreference' , ( ) => {
922 beforeEach ( ( ) => {
1023 localStorage . clear ( )
@@ -22,80 +35,182 @@ describe('useConsoleRedirectPreference', () => {
2235 expect ( getNewConsoleUrl ( 'http://localhost:4200/organization/123' ) ) . toBeNull ( )
2336 } )
2437
38+ it ( 'should migrate legacy user settings to the organization overview fallback' , ( ) => {
39+ expect ( getNewConsolePathname ( '/user/general' ) ) . toBe ( '/organization' )
40+ } )
41+
42+ it ( 'should migrate legacy overview aliases to overview routes' , ( ) => {
43+ expect ( getNewConsolePathname ( `${ ORGANIZATION_PATH } /audit-logs/general` ) ) . toBe ( `${ ORGANIZATION_PATH } /audit-logs` )
44+
45+ expect ( getNewConsolePathname ( `${ PROJECT_PATH } /environments/general` ) ) . toBe ( `${ PROJECT_PATH } /overview` )
46+
47+ expect ( getNewConsolePathname ( `${ ENVIRONMENT_PATH } /environments/general` ) ) . toBe ( `${ ENVIRONMENT_PATH } /overview` )
48+
49+ expect ( getNewConsolePathname ( `${ ENVIRONMENT_PATH } /services/general` ) ) . toBe ( `${ ENVIRONMENT_PATH } /overview` )
50+ } )
51+
52+ it ( 'should migrate renamed organization sections' , ( ) => {
53+ expect ( getNewConsolePathname ( `${ ORGANIZATION_PATH } /alerting/alert-rules` ) ) . toBe (
54+ `${ ORGANIZATION_PATH } /alerts/alert-rules`
55+ )
56+
57+ expect ( getNewConsolePathname ( `${ ORGANIZATION_PATH } /settings/api` ) ) . toBe ( `${ ORGANIZATION_PATH } /settings/api-token` )
58+ expect ( getNewConsolePathname ( `${ ORGANIZATION_PATH } /settings/credentials` ) ) . toBe (
59+ `${ ORGANIZATION_PATH } /settings/cloud-credentials`
60+ )
61+ expect ( getNewConsolePathname ( `${ ORGANIZATION_PATH } /settings/billing-detail` ) ) . toBe (
62+ `${ ORGANIZATION_PATH } /settings/billing-details`
63+ )
64+ expect ( getNewConsolePathname ( `${ ORGANIZATION_PATH } /settings/webhooks` ) ) . toBe (
65+ `${ ORGANIZATION_PATH } /settings/webhook`
66+ )
67+ } )
68+
69+ it ( 'should migrate legacy project settings paths' , ( ) => {
70+ expect ( getNewConsolePathname ( `${ ORGANIZATION_PATH } /settings/${ PROJECT_ID } /project/general` ) ) . toBe (
71+ `${ PROJECT_PATH } /settings/general`
72+ )
73+
74+ expect ( getNewConsolePathname ( `${ ORGANIZATION_PATH } /settings/${ PROJECT_ID } /project/danger-zone` ) ) . toBe (
75+ `${ PROJECT_PATH } /settings/danger-zone`
76+ )
77+ } )
78+
79+ it ( 'should migrate legacy cluster paths' , ( ) => {
80+ expect ( getNewConsolePathname ( `${ ORGANIZATION_PATH } /clusters/general` ) ) . toBe ( `${ ORGANIZATION_PATH } /clusters` )
81+ expect ( getNewConsolePathname ( `${ ORGANIZATION_PATH } /clusters/new` ) ) . toBe ( `${ ORGANIZATION_PATH } /cluster/new` )
82+
83+ expect ( getNewConsolePathname ( `${ ORGANIZATION_PATH } /clusters/create/aws/access` ) ) . toBe (
84+ `${ ORGANIZATION_PATH } /cluster/create/aws/general`
85+ )
86+
87+ expect ( getNewConsolePathname ( `${ ORGANIZATION_PATH } /clusters/create/aws/summary` ) ) . toBe (
88+ `${ ORGANIZATION_PATH } /cluster/create/aws/summary`
89+ )
90+
91+ expect ( getNewConsolePathname ( `${ ORGANIZATION_PATH } /cluster/${ CLUSTER_ID } /logs` ) ) . toBe (
92+ `${ ORGANIZATION_PATH } /cluster/${ CLUSTER_ID } /cluster-logs`
93+ )
94+ } )
95+
96+ it ( 'should migrate legacy project environment section paths' , ( ) => {
97+ expect ( getNewConsolePathname ( `${ PROJECT_PATH } /environments/variables` ) ) . toBe ( `${ PROJECT_PATH } /variables` )
98+
99+ expect ( getNewConsolePathname ( `${ PROJECT_PATH } /environments/deployment-rules/edit/${ DEPLOYMENT_ID } ` ) ) . toBe (
100+ `${ PROJECT_PATH } /deployment-rules/edit/${ DEPLOYMENT_ID } `
101+ )
102+ } )
103+
104+ it ( 'should migrate legacy environment services section paths' , ( ) => {
105+ expect ( getNewConsolePathname ( `${ ENVIRONMENT_PATH } /services/deployments` ) ) . toBe ( `${ ENVIRONMENT_PATH } /deployments` )
106+
107+ expect ( getNewConsolePathname ( `${ ENVIRONMENT_PATH } /services/variables` ) ) . toBe ( `${ ENVIRONMENT_PATH } /variables` )
108+
109+ expect ( getNewConsolePathname ( `${ ENVIRONMENT_PATH } /services/settings/rules` ) ) . toBe (
110+ `${ ENVIRONMENT_PATH } /settings/deployment-rules`
111+ )
112+
113+ expect ( getNewConsolePathname ( `${ ENVIRONMENT_PATH } /services/settings/pipeline` ) ) . toBe (
114+ `${ ENVIRONMENT_PATH } /overview/pipeline`
115+ )
116+
117+ expect ( getNewConsolePathname ( `${ ENVIRONMENT_PATH } /services/settings/preview-environments` ) ) . toBe (
118+ `${ ENVIRONMENT_PATH } /settings/preview-environments`
119+ )
120+ } )
121+
122+ it ( 'should migrate legacy environment logs paths' , ( ) => {
123+ expect ( getNewConsolePathname ( `${ ENVIRONMENT_PATH } /logs/${ SERVICE_ID } /service-logs` ) ) . toBe (
124+ `${ ENVIRONMENT_PATH } /service/${ SERVICE_ID } /service-logs`
125+ )
126+
127+ expect ( getNewConsolePathname ( `${ ENVIRONMENT_PATH } /logs/${ SERVICE_ID } /deployment-logs/${ EXECUTION_ID } ` ) ) . toBe (
128+ `${ ENVIRONMENT_PATH } /service/${ SERVICE_ID } /deployments/logs/${ EXECUTION_ID } `
129+ )
130+
131+ expect ( getNewConsolePathname ( `${ ENVIRONMENT_PATH } /logs/pre-check-logs/${ DEPLOYMENT_ID } ` ) ) . toBe (
132+ `${ ENVIRONMENT_PATH } /deployment/${ DEPLOYMENT_ID } /pre-check-logs`
133+ )
134+
135+ expect ( getNewConsolePathname ( `${ ENVIRONMENT_PATH } /logs/stages/${ DEPLOYMENT_ID } ` ) ) . toBe (
136+ `${ ENVIRONMENT_PATH } /deployments`
137+ )
138+ } )
139+
25140 it ( 'should migrate legacy application paths to new service paths' , ( ) => {
26- expect (
27- getNewConsolePathname ( '/organization/org/project/project/environment/environment/application/application/general' )
28- ) . toBe ( '/organization/org/project/project/environment/environment/service/application/overview' )
141+ expect ( getNewConsolePathname ( ` ${ ENVIRONMENT_PATH } /application/ ${ SERVICE_ID } /general` ) ) . toBe (
142+ ` ${ ENVIRONMENT_PATH } /service/ ${ SERVICE_ID } /overview`
143+ )
29144
30- expect (
31- getNewConsolePathname (
32- '/organization/org/project/project/environment/environment/application/application/settings/resources'
33- )
34- ) . toBe ( '/organization/org/project/project/environment/environment/service/application/settings/resources' )
145+ expect ( getNewConsolePathname ( `${ ENVIRONMENT_PATH } /application/${ SERVICE_ID } /settings/resources` ) ) . toBe (
146+ `${ ENVIRONMENT_PATH } /service/${ SERVICE_ID } /settings/resources`
147+ )
35148 } )
36149
37150 it ( 'should migrate legacy database paths to new service paths' , ( ) => {
38- expect (
39- getNewConsolePathname ( '/organization/org/project/project/environment/environment/database/database/general' )
40- ) . toBe ( '/organization/org/project/project/environment/environment/service/database/overview' )
151+ expect ( getNewConsolePathname ( ` ${ ENVIRONMENT_PATH } /database/ ${ DATABASE_ID } /general` ) ) . toBe (
152+ ` ${ ENVIRONMENT_PATH } /service/ ${ DATABASE_ID } /overview`
153+ )
41154
42- expect (
43- getNewConsolePathname (
44- '/organization/org/project/project/environment/environment/database/database/settings/danger-zone'
45- )
46- ) . toBe ( '/organization/org/project/project/environment/environment/service/database/settings/danger-zone' )
155+ expect ( getNewConsolePathname ( `${ ENVIRONMENT_PATH } /database/${ DATABASE_ID } /settings/danger-zone` ) ) . toBe (
156+ `${ ENVIRONMENT_PATH } /service/${ DATABASE_ID } /settings/danger-zone`
157+ )
47158 } )
48159
49160 it ( 'should migrate legacy environment services paths to singular service paths' , ( ) => {
50- expect ( getNewConsolePathname ( '/organization/org/project/project/environment/environment/services/new' ) ) . toBe (
51- '/organization/org/project/project/environment/environment/service/new'
161+ expect ( getNewConsolePathname ( `${ ENVIRONMENT_PATH } /services/new` ) ) . toBe ( `${ ENVIRONMENT_PATH } /service/new` )
162+
163+ expect ( getNewConsolePathname ( `${ ENVIRONMENT_PATH } /services/create/database/general` ) ) . toBe (
164+ `${ ENVIRONMENT_PATH } /service/create/database/general`
52165 )
166+ } )
53167
54- expect (
55- getNewConsolePathname (
56- '/organization/org/project/project/environment/environment/services/create/database/general'
57- )
58- ) . toBe ( '/organization/org/project/project/environment/environment/service/create/database/general' )
168+ it ( 'should migrate legacy service creation step aliases' , ( ) => {
169+ expect ( getNewConsolePathname ( `${ ENVIRONMENT_PATH } /services/create/cron-job/introduction` ) ) . toBe (
170+ `${ ENVIRONMENT_PATH } /service/create/cron-job/general`
171+ )
172+
173+ expect ( getNewConsolePathname ( `${ ENVIRONMENT_PATH } /services/create/cron-job/variable` ) ) . toBe (
174+ `${ ENVIRONMENT_PATH } /service/create/cron-job/variables`
175+ )
176+
177+ expect ( getNewConsolePathname ( `${ ENVIRONMENT_PATH } /services/create/database/post` ) ) . toBe (
178+ `${ ENVIRONMENT_PATH } /service/create/database/summary`
179+ )
59180 } )
60181
61182 it ( 'should migrate legacy service creation step paths' , ( ) => {
62- expect (
63- getNewConsolePathname (
64- '/organization/org/project/project/environment/environment/services/create/helm/values-override/repository-and-yaml'
65- )
66- ) . toBe ( '/organization/org/project/project/environment/environment/service/create/helm/values-override-file' )
183+ expect ( getNewConsolePathname ( `${ ENVIRONMENT_PATH } /services/create/helm/values-override/repository-and-yaml` ) ) . toBe (
184+ `${ ENVIRONMENT_PATH } /service/create/helm/values-override-file`
185+ )
67186
68- expect (
69- getNewConsolePathname (
70- '/organization/org/project/project/environment/environment/services/create/helm/values-override/arguments'
71- )
72- ) . toBe ( '/organization/org/project/project/environment/environment/service/create/helm/values-override-arguments' )
187+ expect ( getNewConsolePathname ( `${ ENVIRONMENT_PATH } /services/create/helm/values-override/arguments` ) ) . toBe (
188+ `${ ENVIRONMENT_PATH } /service/create/helm/values-override-arguments`
189+ )
73190
74- expect (
75- getNewConsolePathname (
76- '/organization/org/project/project/environment/environment/services/create/terraform/basic-configuration'
77- )
78- ) . toBe ( '/organization/org/project/project/environment/environment/service/create/terraform/terraform-configuration' )
191+ expect ( getNewConsolePathname ( `${ ENVIRONMENT_PATH } /services/create/terraform/basic-configuration` ) ) . toBe (
192+ `${ ENVIRONMENT_PATH } /service/create/terraform/terraform-configuration`
193+ )
79194 } )
80195
81196 it ( 'should migrate legacy monitoring metric creation paths' , ( ) => {
197+ expect ( getNewConsolePathname ( `${ ENVIRONMENT_PATH } /application/${ SERVICE_ID } /monitoring/metric/cpu` ) ) . toBe (
198+ `${ ENVIRONMENT_PATH } /service/${ SERVICE_ID } /monitoring/alerts/create/metric/cpu`
199+ )
200+
82201 expect (
83- getNewConsolePathname (
84- '/organization/org/project/project/environment/environment/application/application/monitoring/ metric/cpu'
85- )
86- ) . toBe (
87- '/organization/org/project/project/environment/environment/ service/application /monitoring/alerts/create/metric/cpu'
202+ getNewConsolePathname ( ` ${ ENVIRONMENT_PATH } /application/ ${ SERVICE_ID } /monitoring/create/alerts/metric/cpu` )
203+ ) . toBe ( ` ${ ENVIRONMENT_PATH } /service/ ${ SERVICE_ID } /monitoring/alerts/create/ metric/cpu` )
204+
205+ expect ( getNewConsolePathname ( ` ${ ENVIRONMENT_PATH } /application/ ${ SERVICE_ID } /monitoring/create/alerts` ) ) . toBe (
206+ ` ${ ENVIRONMENT_PATH } / service/${ SERVICE_ID } /monitoring/alerts`
88207 )
89208 } )
90209
91210 it ( 'should migrate paths while building the new console url' , ( ) => {
92211 expect (
93- getNewConsoleUrl (
94- 'https://console.qovery.com/organization/org/project/project/environment/environment/application/application/general?foo=bar#hash'
95- )
96- ) . toBe (
97- 'https://new-console.qovery.com/organization/org/project/project/environment/environment/service/application/overview?foo=bar#hash'
98- )
212+ getNewConsoleUrl ( `https://console.qovery.com${ ENVIRONMENT_PATH } /application/${ SERVICE_ID } /general?foo=bar#hash` )
213+ ) . toBe ( `https://new-console.qovery.com${ ENVIRONMENT_PATH } /service/${ SERVICE_ID } /overview?foo=bar#hash` )
99214 } )
100215
101216 it ( 'should read the preference from local storage first' , ( ) => {
0 commit comments