|
| 1 | +import { loadSharedConfigFiles } from "./loadSharedConfigFiles"; |
| 2 | +import { parseKnownFiles } from "./parseKnownFiles"; |
| 3 | + |
| 4 | +jest.mock("./loadSharedConfigFiles"); |
| 5 | + |
| 6 | +describe(parseKnownFiles.name, () => { |
| 7 | + const mockConfigFile = { |
| 8 | + mockConfigProfileName1: { configKey1: "configValue1" }, |
| 9 | + mockConfigProfileName2: { configKey2: "configValue2" }, |
| 10 | + }; |
| 11 | + const mockCredentialsFile = { |
| 12 | + mockCredentialsProfileName1: { credsKey1: "credsValue1" }, |
| 13 | + mockCredentialsProfileName2: { credsKey2: "credsValue2" }, |
| 14 | + }; |
| 15 | + |
| 16 | + afterEach(() => { |
| 17 | + jest.clearAllMocks(); |
| 18 | + }); |
| 19 | + |
| 20 | + it("gets parsedFiles from loadedConfig if provided in init", async () => { |
| 21 | + const parsedFiles = await parseKnownFiles({ |
| 22 | + loadedConfig: Promise.resolve({ |
| 23 | + configFile: mockConfigFile, |
| 24 | + credentialsFile: mockCredentialsFile, |
| 25 | + }), |
| 26 | + }); |
| 27 | + |
| 28 | + expect(loadSharedConfigFiles).not.toHaveBeenCalled(); |
| 29 | + expect(parsedFiles).toEqual({ |
| 30 | + ...mockConfigFile, |
| 31 | + ...mockCredentialsFile, |
| 32 | + }); |
| 33 | + }); |
| 34 | + |
| 35 | + it("gets parsedFiles from loadSharedConfigFiles if not provided in init", async () => { |
| 36 | + (loadSharedConfigFiles as jest.Mock).mockReturnValue( |
| 37 | + Promise.resolve({ |
| 38 | + configFile: mockConfigFile, |
| 39 | + credentialsFile: mockCredentialsFile, |
| 40 | + }) |
| 41 | + ); |
| 42 | + const mockInit = { profile: "mockProfile" }; |
| 43 | + const parsedFiles = await parseKnownFiles(mockInit); |
| 44 | + |
| 45 | + expect(loadSharedConfigFiles).toHaveBeenCalledWith(mockInit); |
| 46 | + expect(parsedFiles).toEqual({ |
| 47 | + ...mockConfigFile, |
| 48 | + ...mockCredentialsFile, |
| 49 | + }); |
| 50 | + }); |
| 51 | +}); |
0 commit comments