// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for details. import { ErrorHelper } from "../../../src/common/error/errorHelper"; import { InternalErrorCode } from "../../../src/common/error/internalErrorCode"; import assert = require("assert"); suite("errorHelper", function () { suite("commonContext", function () { const internalErrorWithArgs = ErrorHelper.getInternalError( InternalErrorCode.NotAllSuccessPatternsMatched, "android", "ios", ); const internalErrorWithoutArgs = ErrorHelper.getInternalError( InternalErrorCode.UnsupportedCommandStatus, ); const nestedErrorWithArgs = ErrorHelper.getNestedError( new Error("Nested ES Error"), InternalErrorCode.CommandFailed, "Command failed with ES Error", ); const warning = ErrorHelper.getWarning("Warning"); const nestedWarning = ErrorHelper.getNestedWarning(new Error("Nested ES Error"), "Warning"); test("internal error object with arguments should have correct NotAllSuccessPatternsMatched error message on English", (done: Mocha.Done) => { assert.strictEqual( internalErrorWithArgs.message, 'Unknown error: not all success patterns were matched. \n It means that "react-native run-android" command failed. \n Please, check the View -> Toggle Output -> React Native, \n View -> Toggle Output -> React Native: Run ios output windows. (error code 712)', ); done(); }); test("internal error object without arguments should have correct UnsupportedCommandStatus error message on English", (done: Mocha.Done) => { assert.strictEqual( internalErrorWithoutArgs.message, "Unsupported command status (error code 112)", ); done(); }); test("nested error object with arguments should have correct error message on English", (done: Mocha.Done) => { assert.strictEqual( nestedErrorWithArgs.message, "Error while executing command 'Command failed with ES Error': Nested ES Error", ); done(); }); test("warning object should have correct error message on English", (done: Mocha.Done) => { assert.strictEqual(warning.errorCode, -1); assert.strictEqual(warning.message, "Warning"); done(); }); test("nested warning object should have correct error message on English", (done: Mocha.Done) => { assert.strictEqual(nestedWarning.errorCode, -1); assert.strictEqual(nestedWarning.message, "Warning: Nested ES Error"); done(); }); }); });