source: frontend/node_modules/bfj/test/unit/error.js

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 2 weeks ago

Fix frontend appearance

  • Property mode set to 100644
File size: 1.8 KB
RevLine 
[9af201e]1'use strict'
2
3const assert = require('chai').assert
4const modulePath = '../../src/error'
5
6suite('error:', () => {
7 let log
8
9 setup(() => {
10 log = {}
11 })
12
13 test('require does not throw', () => {
14 assert.doesNotThrow(() => {
15 require(modulePath)
16 })
17 })
18
19 test('require returns object', () => {
20 assert.isObject(require(modulePath))
21 })
22
23 suite('require:', () => {
24 let error
25
26 setup(() => {
27 error = require(modulePath)
28 })
29
30 test('error has create method', () => {
31 assert.isFunction(error.create)
32 })
33
34 test('error has no other methods', () => {
35 assert.lengthOf(Object.keys(error), 1)
36 })
37
38 test('create expects four arguments', () => {
39 assert.lengthOf(error.create, 4)
40 })
41
42 test('create does not throw', () => {
43 assert.doesNotThrow(() => {
44 error.create()
45 })
46 })
47
48 test('create returns Error', () => {
49 assert.instanceOf(error.create(), Error)
50 })
51
52 suite('create:', () => {
53 let created
54
55 setup(() => {
56 created = error.create('foo', 'bar', 'baz', 'qux')
57 })
58
59 test('created has correct actual property', () => {
60 assert.strictEqual(created.actual, 'foo')
61 })
62
63 test('created has correct expected property', () => {
64 assert.strictEqual(created.expected, 'bar')
65 })
66
67 test('created has correct lineNumber property', () => {
68 assert.strictEqual(created.lineNumber, 'baz')
69 })
70
71 test('created has correct columnNumber property', () => {
72 assert.strictEqual(created.columnNumber, 'qux')
73 })
74
75 test('created has correct message property', () => {
76 assert.strictEqual(created.message, 'JSON error: encountered `foo` at line baz, column qux where `bar` was expected.')
77 })
78 })
79 })
80})
Note: See TracBrowser for help on using the repository browser.