UNPKG

@applicaster/zapplicaster-cli

Version:

CLI Tool for the zapp app and Quick Brick project

100 lines (78 loc) 2.45 kB
const { configFilesRetriever } = require("../configFilesRetriever"); const mock_curriedSaveRemoteJsonToFile = jest.fn(); const mock_curriedRenderConfigFile = jest.fn(); jest.mock("../../../download", () => ({ saveRemoteJsonToFile: jest.fn(() => mock_curriedSaveRemoteJsonToFile), saveFontFiles: jest.fn(), saveAssets: jest.fn(), })); jest.mock("../../../render", () => ({ renderConfigFile: jest.fn(() => mock_curriedRenderConfigFile), saveConfigFile: jest.fn(), })); const { saveRemoteJsonToFile, saveFontFiles, saveAssets, } = require("../../../download"); const { renderConfigFile } = require("../../../render"); const { build_params: buildParams } = require("./fixtures/buildParams.json"); const { runtimeConfigurationUrlsCreator, } = require("../runtimeConfigurationUrlsCreator"); const destinationPath = "path/to/workspace"; const platform = "ios"; const template = {}; const configuration = { buildParams, destinationPath, platform, template, }; describe("configFilesRetriever", () => { beforeAll((done) => { runtimeConfigurationUrlsCreator(configuration).then(() => { done(); }); }); afterEach(() => { mock_curriedSaveRemoteJsonToFile.mockClear(); saveRemoteJsonToFile.mockClear(); saveAssets.mockClear(); saveFontFiles.mockClear(); }); it("downloads and saves json config files", async () => { await configFilesRetriever(configuration); expect(saveRemoteJsonToFile).toHaveBeenCalledWith(configuration); expect(mock_curriedSaveRemoteJsonToFile).toHaveBeenCalledTimes(4); }); it("saves custom config files form the template", async () => { const configFiles = [ { name: "custom_conf.json", getJsonContent: () => ({ foo: "bar" }) }, ]; const config = { ...configuration, template: { configFiles, }, }; await configFilesRetriever(config); expect(renderConfigFile).toHaveBeenCalledWith(config); expect(mock_curriedRenderConfigFile).toHaveBeenCalledWith(configFiles[0]); }); it("saves assets", async () => { await configFilesRetriever(configuration); expect(saveAssets).toHaveBeenCalledWith( configuration, buildParams.assets_url ); }); it("saves fonts", async () => { await configFilesRetriever(configuration); expect(saveFontFiles).toHaveBeenCalledWith( configuration, buildParams.fonts_url, buildParams.fonts ); }); });