From 1c402b7c97716a196958e5239fb045241f9d3d95 Mon Sep 17 00:00:00 2001 From: CrazyMax Date: Fri, 16 Oct 2020 18:34:48 +0200 Subject: [PATCH] Fix tests Signed-off-by: CrazyMax --- __tests__/context.test.ts | 10 +++++++++- __tests__/main.test.ts | 23 ++++++++++++++++++++--- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/__tests__/context.test.ts b/__tests__/context.test.ts index a77f44b..886619b 100644 --- a/__tests__/context.test.ts +++ b/__tests__/context.test.ts @@ -2,13 +2,21 @@ import osm = require('os'); import {getInputs} from '../src/context'; +test('without username getInputs throws errors', async () => { + expect(() => { + getInputs(); + }).toThrowError('Input required and not supplied: username'); +}); + test('without password getInputs throws errors', async () => { + process.env['INPUT_USERNAME'] = 'dbowie'; expect(() => { getInputs(); }).toThrowError('Input required and not supplied: password'); }); -test('with password getInputs does not error', async () => { +test('with password and username getInputs does not error', async () => { + process.env['INPUT_USERNAME'] = 'dbowie'; process.env['INPUT_PASSWORD'] = 'groundcontrol'; expect(() => { getInputs(); diff --git a/__tests__/main.test.ts b/__tests__/main.test.ts index 0b207f0..062c7c2 100644 --- a/__tests__/main.test.ts +++ b/__tests__/main.test.ts @@ -17,7 +17,7 @@ test('errors when not run on linux platform', async () => { expect(coreSpy).toHaveBeenCalledWith('Only supported on linux platform'); }); -test('errors without password', async () => { +test('errors without username', async () => { const platSpy = jest.spyOn(osm, 'platform'); platSpy.mockImplementation(() => 'linux'); @@ -25,10 +25,24 @@ test('errors without password', async () => { await run(); + expect(coreSpy).toHaveBeenCalledWith('Input required and not supplied: username'); +}); + +test('errors without password', async () => { + const platSpy = jest.spyOn(osm, 'platform'); + platSpy.mockImplementation(() => 'linux'); + + const coreSpy: jest.SpyInstance = jest.spyOn(core, 'setFailed'); + + const username: string = 'dbowie'; + process.env[`INPUT_USERNAME`] = username; + + await run(); + expect(coreSpy).toHaveBeenCalledWith('Input required and not supplied: password'); }); -test('successful with only password', async () => { +test('successful with username and password', async () => { const platSpy = jest.spyOn(osm, 'platform'); platSpy.mockImplementation(() => 'linux'); @@ -37,6 +51,9 @@ test('successful with only password', async () => { const dockerSpy: jest.SpyInstance = jest.spyOn(docker, 'login'); dockerSpy.mockImplementation(() => {}); + const username: string = 'dbowie'; + process.env[`INPUT_USERNAME`] = username; + const password: string = 'groundcontrol'; process.env[`INPUT_PASSWORD`] = password; @@ -44,7 +61,7 @@ test('successful with only password', async () => { expect(setRegistrySpy).toHaveBeenCalledWith(''); expect(setLogoutSpy).toHaveBeenCalledWith(''); - expect(dockerSpy).toHaveBeenCalledWith('', '', password); + expect(dockerSpy).toHaveBeenCalledWith('', username, password); }); test('calls docker login', async () => {