@applicaster/zapplicaster-cli
Version:
CLI Tool for the zapp app and Quick Brick project
69 lines (54 loc) • 1.72 kB
JavaScript
const {
runtimeConfigurationUrlsCreator,
} = require("../runtimeConfigurationUrlsCreator");
const R = require("ramda");
jest.mock("../../../render", () => ({
saveConfigFile: jest.fn(),
}));
const { saveConfigFile } = require("../../../render");
const appVersionId = "A1234";
const { build_params: buildParams } = require("./fixtures/buildParams.json");
const configuration = {
buildParams,
appVersionId,
};
// eslint-disable-next-line unused-imports/no-unused-vars
const { cell_styles_url, ...restOfBuildParams } = buildParams;
const configurationWithNoCellStylesUrl = {
buildParams: restOfBuildParams,
appVersionId,
};
const runtimeConfigurationUrls = R.pick(
[
"remote_configurations_url",
"plugin_configurations_url",
"layout_url",
"cell_styles_url",
],
buildParams
);
const runtimeConfigurationUrlsWithoutCellStylesUrl = R.pick(
["remote_configurations_url", "plugin_configurations_url", "layout_url"],
buildParams
);
describe("runtimeConfigurationUrlsCreator", () => {
beforeEach(() => {
saveConfigFile.mockClear();
});
it("gets the runtime configuration urls from the build params and saves them to a file", async () => {
await runtimeConfigurationUrlsCreator(configuration);
expect(saveConfigFile).toHaveBeenCalledWith(
configuration,
"runtime_configuration_urls.json",
runtimeConfigurationUrls
);
});
it("discards null urls", async () => {
await runtimeConfigurationUrlsCreator(configurationWithNoCellStylesUrl);
expect(saveConfigFile).toHaveBeenCalledWith(
configurationWithNoCellStylesUrl,
"runtime_configuration_urls.json",
runtimeConfigurationUrlsWithoutCellStylesUrl
);
});
});