UNPKG

@pagopa/dx-cli

Version:

A CLI useful to manage DX tools.

56 lines (55 loc) 1.61 kB
import { describe, expect, test } from "vitest"; import getActions from "../actions.js"; export const getPayload = (includeInit = false) => { const cloudAccount = { csp: "azure", defaultLocation: "westeurope", displayName: "Test-Account", id: "test-subscription-id", }; const payload = { env: { cloudAccounts: [cloudAccount], name: "dev", prefix: "dx", }, github: { owner: "pagopa", repo: "dx", }, tags: {}, workspace: { domain: "mytest", }, }; if (includeInit) { payload.init = { cloudAccountsToInitialize: [cloudAccount], terraformBackend: { cloudAccount, }, }; } return payload; }; describe("actions", () => { test.each([ { payload: getPayload(true), }, { payload: getPayload(false), }, ])("correct order of actions", ({ payload }) => { const actionsOrder = ["getTerraformBackend", "addMany", "addMany"]; if (payload.init) { actionsOrder.unshift("initCloudAccounts", "provisionTerraformBackend"); actionsOrder.push("addMany", "addMany"); } const actions = getActions("/templates/path")(payload); const actionTypes = actions .filter((action) => typeof action === "object" && Object.hasOwn(action, "type")) .map((action) => action.type); expect(actionTypes).toEqual(actionsOrder); }); });