UNPKG

@sasjs/cli

Version:

Command line interface for SASjs

77 lines (76 loc) 3.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var displayResult_1 = require("../displayResult"); var node_1 = require("@sasjs/adapter/node"); var utils_1 = require("@sasjs/utils"); describe('display error', function () { beforeAll(function () { process.logger = new utils_1.Logger(utils_1.LogLevel.Off); }); afterEach(function () { jest.resetAllMocks(); }); test('error is object, details is object', function () { jest.spyOn(process.logger, 'error'); var error = new node_1.ErrorResponse('Test error', { status: 500, error: 'Test' }); var result = (0, displayResult_1.displayError)(error, 'Execution error'); var expected = "Execution error\nTest error\n{\"status\":500,\"error\":\"Test\"}"; expect(result).toEqual(expected); expect(process.logger.error).toHaveBeenCalledWith("Execution error\n", "Test error\n{\"status\":500,\"error\":\"Test\"}"); }); test('error is object, details is string', function () { jest.spyOn(process.logger, 'error'); var error = { error: { message: 'Test error', details: 'Details string', raw: undefined } }; var result = (0, displayResult_1.displayError)(error, 'Execution error'); var expected = "Execution error\nTest error\nDetails string"; expect(result).toEqual(expected); expect(process.logger.error).toHaveBeenCalledWith("Execution error\n", "Test error\nDetails string"); }); test('error is object, details property missing, raw present', function () { jest.spyOn(process.logger, 'error'); var error = { error: { message: 'Test error', details: undefined, raw: 'Raw response' } }; var result = (0, displayResult_1.displayError)(error, 'Execution error'); var expected = "Execution error\nTest error\nRaw response"; expect(result).toEqual(expected); expect(process.logger.error).toHaveBeenCalledWith("Execution error\n", "Test error\nRaw response"); }); test('error is object, error property missing', function () { jest.spyOn(process.logger, 'error'); var error = { status: 500, details: 'Test' }; var result = (0, displayResult_1.displayError)(error, 'Execution error'); var expected = "Execution error\n{\"status\":500,\"details\":\"Test\"}"; expect(result).toEqual(expected); expect(process.logger.error).toHaveBeenCalledWith("Execution error\n", '{"status":500,"details":"Test"}'); }); test('error is string', function () { jest.spyOn(process.logger, 'error'); var error = 'Something went wrong'; var result = (0, displayResult_1.displayError)(error, 'Execution error'); var expected = "Execution error\nSomething went wrong"; expect(result).toEqual(expected); expect(process.logger.error).toHaveBeenCalledWith("Execution error\n", 'Something went wrong'); }); test('error JS Error object', function () { jest.spyOn(process.logger, 'error'); var error = new Error('Something went wrong'); var result = (0, displayResult_1.displayError)(error, 'Execution error'); var expected = "Execution error\nSomething went wrong"; expect(result).toEqual(expected); expect(process.logger.error).toHaveBeenCalledWith("Execution error\n", 'Something went wrong'); }); }); describe('display result success', function () { test('success message', function () { jest.spyOn(process.logger, 'success'); (0, displayResult_1.displaySuccess)('Success'); expect(process.logger.success).toHaveBeenCalledWith('Success'); }); });