summaryrefslogtreecommitdiffstats
path: root/test/mock-scope.js
blob: 605ba582171bb3b416a008094b9a76e7ebb7a47c (plain)
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
'use strict'

const { test } = require('tap')
const { MockScope } = require('../lib/mock/mock-interceptor')
const { InvalidArgumentError } = require('../lib/core/errors')

test('MockScope - delay', t => {
  t.plan(2)

  t.test('should return MockScope', t => {
    t.plan(1)
    const mockScope = new MockScope({
      path: '',
      method: ''
    }, [])
    const result = mockScope.delay(200)
    t.type(result, MockScope)
  })

  t.test('should error if passed options invalid', t => {
    t.plan(4)

    const mockScope = new MockScope({
      path: '',
      method: ''
    }, [])
    t.throws(() => mockScope.delay(), new InvalidArgumentError('waitInMs must be a valid integer > 0'))
    t.throws(() => mockScope.delay(200.1), new InvalidArgumentError('waitInMs must be a valid integer > 0'))
    t.throws(() => mockScope.delay(0), new InvalidArgumentError('waitInMs must be a valid integer > 0'))
    t.throws(() => mockScope.delay(-1), new InvalidArgumentError('waitInMs must be a valid integer > 0'))
  })
})

test('MockScope - persist', t => {
  t.plan(1)

  t.test('should return MockScope', t => {
    t.plan(1)
    const mockScope = new MockScope({
      path: '',
      method: ''
    }, [])
    const result = mockScope.persist()
    t.type(result, MockScope)
  })
})

test('MockScope - times', t => {
  t.plan(2)

  t.test('should return MockScope', t => {
    t.plan(1)
    const mockScope = new MockScope({
      path: '',
      method: ''
    }, [])
    const result = mockScope.times(200)
    t.type(result, MockScope)
  })

  t.test('should error if passed options invalid', t => {
    t.plan(4)

    const mockScope = new MockScope({
      path: '',
      method: ''
    }, [])
    t.throws(() => mockScope.times(), new InvalidArgumentError('repeatTimes must be a valid integer > 0'))
    t.throws(() => mockScope.times(200.1), new InvalidArgumentError('repeatTimes must be a valid integer > 0'))
    t.throws(() => mockScope.times(0), new InvalidArgumentError('repeatTimes must be a valid integer > 0'))
    t.throws(() => mockScope.times(-1), new InvalidArgumentError('repeatTimes must be a valid integer > 0'))
  })
})