Completed
Push — master ( 61b1bf...835745 )
by Ajeh
26s
created

should be 0ꞌ)   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
c 0
b 0
f 0
nc 1
dl 0
loc 3
rs 10
nop 0
1
/**
2
 * Created by Emmy on 10/7/2017.
3
 */
4
5
import * as Utility from '../../src/plugin/js/utilities'
6
import should from 'should'
7
8
9
describe('Utility #cloneObj', function () {
10
    it('The problem: Altering an object "objA" affects "objB"', function () {
11
        let objA = {foo: 'abc', bar: '123'};
12
        let objB = objA;
13
        objA.bar = '1234';
14
        should(objA).be.exactly(objB)
15
    })
16
17
    it('The solution: cloned object should not be equal to original after altering', function () {
18
        let objA = {foo: 'abc', bar: '123'};
19
        let objB = Utility.cloneObj(objA);
20
        objA.bar = '1234';
21
        should(objA).not.be.exactly(objB)
22
    })
23
})
24
25
describe('Utility #mergeObjs', function () {
26
    it('"objC" should be "objA" and "objB"', function () {
27
        let objA = {foo: 'abc'};
28
        let objB = {bar: '123'};
29
        let objC = Utility.mergeObjs(objA, objB);
30
31
        should(objC).have.keys('foo', 'bar')
32
    })
33
})
34
35
describe('Utility #firstIndex', function () {
36
    let arr = [{color: 'yellow'}, {color: 'red'}, {color: 'blue'}]
37
38
    it('First index of red should be 1', function () {
39
        should(Utility.firstIndex(arr, 'red', 'color')).be.exactly(1).and.a.Number()
40
    })
41
42
    it('First index of yellow should be 0', function () {
43
        should(Utility.firstIndex(arr, 'yellow', 'color')).be.exactly(0).and.a.Number()
44
    })
45
46
    it('First index of blue should be 0', function () {
47
        should(Utility.firstIndex(arr, 'blue', 'color')).be.exactly(2).and.a.Number()
48
    })
49
50
    it('First index of black should be undefined', function () {
51
        should(Utility.firstIndex(arr, 'black', 'color')).be.exactly(-1).and.a.Number()
52
    })
53
})