2024-01-15 04:30:29 +00:00
|
|
|
import produce from "immer";
|
2023-07-05 14:09:04 +00:00
|
|
|
export const featureFlagIntercept = (
|
2023-11-15 02:31:12 +00:00
|
|
|
flags: Record<string, boolean> = {},
|
2023-07-05 14:09:04 +00:00
|
|
|
reload = true,
|
|
|
|
|
) => {
|
|
|
|
|
const response = {
|
|
|
|
|
responseMeta: {
|
|
|
|
|
status: 200,
|
|
|
|
|
success: true,
|
|
|
|
|
},
|
2023-11-15 02:31:12 +00:00
|
|
|
data: {
|
|
|
|
|
...flags,
|
|
|
|
|
release_app_sidebar_enabled: true,
|
2024-01-12 14:43:58 +00:00
|
|
|
release_show_new_sidebar_pages_pane_enabled: true,
|
2024-01-15 04:30:29 +00:00
|
|
|
rollout_consolidated_page_load_fetch_enabled: true,
|
2023-11-15 02:31:12 +00:00
|
|
|
},
|
2023-07-05 14:09:04 +00:00
|
|
|
errorDisplay: "",
|
|
|
|
|
};
|
|
|
|
|
cy.intercept("GET", "/api/v1/users/features", response);
|
2024-01-15 04:30:29 +00:00
|
|
|
|
|
|
|
|
cy.intercept("GET", "/api/v1/consolidated-api/*?*", (req) => {
|
|
|
|
|
req.reply((res: any) => {
|
|
|
|
|
if (res.statusCode === 200) {
|
|
|
|
|
const originalResponse = res?.body;
|
|
|
|
|
const updatedResponse = produce(originalResponse, (draft: any) => {
|
|
|
|
|
draft.data.featureFlags.data = { ...flags };
|
|
|
|
|
draft.data.featureFlags.data["release_app_sidebar_enabled"] = true;
|
|
|
|
|
draft.data.featureFlags.data[
|
|
|
|
|
"release_show_new_sidebar_pages_pane_enabled"
|
|
|
|
|
] = true;
|
|
|
|
|
draft.data.featureFlags.data[
|
|
|
|
|
"rollout_consolidated_page_load_fetch_enabled"
|
|
|
|
|
] = true;
|
|
|
|
|
});
|
|
|
|
|
return res.send(updatedResponse);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}).as("getConsolidatedData");
|
|
|
|
|
|
2023-07-05 14:09:04 +00:00
|
|
|
if (reload) {
|
|
|
|
|
cy.reload();
|
2023-11-06 09:48:00 +00:00
|
|
|
cy.wait(2000); //for the page to re-load finish for CI runs
|
2023-07-05 14:09:04 +00:00
|
|
|
}
|
|
|
|
|
};
|