1
- import { GitHubConnector } from './connector' ;
2
-
3
- let requestQueue = [ ] ;
4
-
5
- function mockRequestPromise ( requestOptions ) {
6
- // Ensure we expected to get more requests
7
- expect ( requestQueue . length ) . not . toBe ( 0 ) ;
8
-
9
- const nextRequest = requestQueue . shift ( ) ;
10
- // Ensure this is the request we expected
11
- expect ( requestOptions ) . toEqual ( nextRequest . options ) ;
1
+ import rp from 'request-promise' ;
12
2
13
- return new Promise ( ( resolve , reject ) => {
14
- if ( nextRequest . result ) {
15
- resolve ( nextRequest . result ) ;
16
- } else if ( nextRequest . error ) {
17
- reject ( nextRequest . error ) ;
18
- } else {
19
- throw new Error ( 'Mocked request must have result or error.' ) ;
20
- }
21
- } ) ;
22
- }
23
-
24
- function pushMockRequest ( { options, result, error } ) {
25
- const defaultOptions = {
26
- json : true ,
27
- headers : {
28
- 'user-agent' : 'GitHunt' ,
29
- } ,
30
- resolveWithFullResponse : true ,
31
- } ;
32
- const { uri, ...rest } = options ;
33
-
34
- const url = `https://api.github.com${ uri } ` ;
35
-
36
- requestQueue . push ( {
37
- options : {
38
- ...defaultOptions ,
39
- ...rest ,
40
- uri : url ,
41
- } ,
42
- result,
43
- error,
44
- } ) ;
45
- }
46
-
47
- GitHubConnector . mockRequestPromise = mockRequestPromise ;
3
+ import { GitHubConnector } from './connector' ;
48
4
49
5
describe ( 'GitHub connector' , ( ) => {
50
6
beforeEach ( ( ) => {
51
- requestQueue = [ ] ;
7
+ rp . __flushRequestQueue ( ) ;
52
8
} ) ;
53
9
54
10
afterEach ( ( ) => {
55
- expect ( requestQueue . length ) . toBe ( 0 ) ;
11
+ rp . __noRequestsLeft ( ) ;
56
12
} ) ;
57
13
58
14
it ( 'can be constructed' , ( ) => {
@@ -62,7 +18,7 @@ describe('GitHub connector', () => {
62
18
it ( 'can load one endpoint' , ( ) => {
63
19
const connector = new GitHubConnector ( ) ;
64
20
65
- pushMockRequest ( {
21
+ rp . __pushMockRequest ( {
66
22
options : { uri : '/endpoint' } ,
67
23
result : {
68
24
headers : { } ,
@@ -78,7 +34,7 @@ describe('GitHub connector', () => {
78
34
it ( 'fetches each endpoint only once per instance' , ( ) => {
79
35
const connector = new GitHubConnector ( ) ;
80
36
81
- pushMockRequest ( {
37
+ rp . __pushMockRequest ( {
82
38
options : {
83
39
uri : '/endpoint' ,
84
40
} ,
@@ -108,7 +64,7 @@ describe('GitHub connector', () => {
108
64
clientSecret : 'fake_client_secret' ,
109
65
} ) ;
110
66
111
- pushMockRequest ( {
67
+ rp . __pushMockRequest ( {
112
68
options : {
113
69
uri : '/endpoint' ,
114
70
qs : {
@@ -133,7 +89,7 @@ describe('GitHub connector', () => {
133
89
const connector = new GitHubConnector ( ) ;
134
90
const etag = 'etag' ;
135
91
136
- pushMockRequest ( {
92
+ rp . __pushMockRequest ( {
137
93
options : {
138
94
uri : '/endpoint' ,
139
95
} ,
@@ -149,7 +105,7 @@ describe('GitHub connector', () => {
149
105
150
106
const connector2 = new GitHubConnector ( ) ;
151
107
152
- pushMockRequest ( {
108
+ rp . __pushMockRequest ( {
153
109
options : {
154
110
uri : '/endpoint' ,
155
111
headers : {
0 commit comments