forked from webpack/webpack
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathModuleDependencyError.test.js
34 lines (22 loc) · 1.18 KB
/
ModuleDependencyError.test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
"use strict";
const path = require("path");
const should = require("should");
const sinon = require("sinon");
const ModuleDependencyError = require("../lib/ModuleDependencyError");
describe("ModuleDependencyError", () => {
let env;
beforeEach(() => env = {});
it("is a function", () => ModuleDependencyError.should.be.a.Function());
describe("when new error created", () => {
beforeEach(() => {
env.error = new Error("Error Message");
env.moduleDependencyError = new ModuleDependencyError("myModule", env.error, "Location");
});
it("is an error", () => env.moduleDependencyError.should.be.an.Error());
it("has a name property", () => env.moduleDependencyError.name.should.be.exactly("ModuleDependencyError"));
it("has a message property", () => env.moduleDependencyError.message.should.be.exactly("Location Error Message"));
it("has a details property", () => env.moduleDependencyError.details.should.containEql(path.join("test", "ModuleDependencyError.test.js:")));
it("has an origin property", () => env.moduleDependencyError.origin.should.be.exactly("myModule"));
it("has an error property", () => env.moduleDependencyError.error.should.be.exactly(env.error));
});
});