aboutsummaryrefslogtreecommitdiff
path: root/sandbox/testAppNevena/Front/node_modules/err-code/test/test.js
diff options
context:
space:
mode:
authorNevena Bojovic <nenabojov@gmail.com>2022-03-01 20:05:50 +0100
committerNevena Bojovic <nenabojov@gmail.com>2022-03-01 20:05:50 +0100
commit291803c31f829fe0d32bb3207bc11def95a7408c (patch)
treec7d43107d79291b19d8c9eceefbe91c9f9a52acf /sandbox/testAppNevena/Front/node_modules/err-code/test/test.js
parent1fa69862057db4db53cfda5be9c24b4228ef63f7 (diff)
Urađena test aplikacija. Povezan front i back.
Diffstat (limited to 'sandbox/testAppNevena/Front/node_modules/err-code/test/test.js')
-rw-r--r--sandbox/testAppNevena/Front/node_modules/err-code/test/test.js159
1 files changed, 159 insertions, 0 deletions
diff --git a/sandbox/testAppNevena/Front/node_modules/err-code/test/test.js b/sandbox/testAppNevena/Front/node_modules/err-code/test/test.js
new file mode 100644
index 00000000..22ba0a8a
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/err-code/test/test.js
@@ -0,0 +1,159 @@
+'use strict';
+
+const errcode = require('../index');
+const expect = require('expect.js');
+
+describe('errcode', () => {
+ describe('string as first argument', () => {
+ it('should throw an error', () => {
+ expect(() => { errcode('my message'); }).to.throwError((err) => {
+ expect(err).to.be.a(TypeError);
+ });
+ });
+ });
+
+ describe('error as first argument', () => {
+ it('should accept an error and do nothing', () => {
+ const myErr = new Error('my message');
+ const err = errcode(myErr);
+
+ expect(err).to.be(myErr);
+ expect(err.hasOwnProperty(err.code)).to.be(false);
+ });
+
+ it('should accept an error and add a code', () => {
+ const myErr = new Error('my message');
+ const err = errcode(myErr, 'ESOME');
+
+ expect(err).to.be(myErr);
+ expect(err.code).to.be('ESOME');
+ });
+
+ it('should accept an error object and add code & properties', () => {
+ const myErr = new Error('my message');
+ const err = errcode(myErr, 'ESOME', { foo: 'bar', bar: 'foo' });
+
+ expect(err).to.be.an(Error);
+ expect(err.code).to.be('ESOME');
+ expect(err.foo).to.be('bar');
+ expect(err.bar).to.be('foo');
+ });
+
+ it('should create an error object without code but with properties', () => {
+ const myErr = new Error('my message');
+ const err = errcode(myErr, { foo: 'bar', bar: 'foo' });
+
+ expect(err).to.be.an(Error);
+ expect(err.code).to.be(undefined);
+ expect(err.foo).to.be('bar');
+ expect(err.bar).to.be('foo');
+ });
+
+ it('should set a non-writable field', () => {
+ const myErr = new Error('my message');
+
+ Object.defineProperty(myErr, 'code', {
+ value: 'derp',
+ writable: false,
+ });
+ const err = errcode(myErr, 'ERR_WAT');
+
+ expect(err).to.be.an(Error);
+ expect(err.stack).to.equal(myErr.stack);
+ expect(err.code).to.be('ERR_WAT');
+ });
+
+ it('should add a code to frozen object', () => {
+ const myErr = new Error('my message');
+ const err = errcode(Object.freeze(myErr), 'ERR_WAT');
+
+ expect(err).to.be.an(Error);
+ expect(err.stack).to.equal(myErr.stack);
+ expect(err.code).to.be('ERR_WAT');
+ });
+
+ it('should to set a field that throws at assignment time', () => {
+ const myErr = new Error('my message');
+
+ Object.defineProperty(myErr, 'code', {
+ enumerable: true,
+ set() {
+ throw new Error('Nope!');
+ },
+ get() {
+ return 'derp';
+ },
+ });
+ const err = errcode(myErr, 'ERR_WAT');
+
+ expect(err).to.be.an(Error);
+ expect(err.stack).to.equal(myErr.stack);
+ expect(err.code).to.be('ERR_WAT');
+ });
+
+ it('should retain error type', () => {
+ const myErr = new TypeError('my message');
+
+ Object.defineProperty(myErr, 'code', {
+ value: 'derp',
+ writable: false,
+ });
+ const err = errcode(myErr, 'ERR_WAT');
+
+ expect(err).to.be.a(TypeError);
+ expect(err.stack).to.equal(myErr.stack);
+ expect(err.code).to.be('ERR_WAT');
+ });
+
+ it('should add a code to a class that extends Error', () => {
+ class CustomError extends Error {
+ set code(val) {
+ throw new Error('Nope!');
+ }
+ }
+
+ const myErr = new CustomError('my message');
+
+ Object.defineProperty(myErr, 'code', {
+ value: 'derp',
+ writable: false,
+ configurable: false,
+ });
+ const err = errcode(myErr, 'ERR_WAT');
+
+ expect(err).to.be.a(CustomError);
+ expect(err.stack).to.equal(myErr.stack);
+ expect(err.code).to.be('ERR_WAT');
+
+ // original prototype chain should be intact
+ expect(() => {
+ const otherErr = new CustomError('my message');
+
+ otherErr.code = 'derp';
+ }).to.throwError();
+ });
+
+ it('should support errors that are not Errors', () => {
+ const err = errcode({
+ message: 'Oh noes!',
+ }, 'ERR_WAT');
+
+ expect(err.message).to.be('Oh noes!');
+ expect(err.code).to.be('ERR_WAT');
+ });
+ });
+
+ describe('falsy first arguments', () => {
+ it('should not allow passing null as the first argument', () => {
+ expect(() => { errcode(null); }).to.throwError((err) => {
+ expect(err).to.be.a(TypeError);
+ });
+ });
+
+ it('should not allow passing undefined as the first argument', () => {
+ expect(() => { errcode(undefined); }).to.throwError((err) => {
+ expect(err).to.be.a(TypeError);
+ });
+ });
+ });
+});