@@ 112-137 (lines=26) @@ | ||
109 | expect(error).to.have.property('message', 'Unexpected token N in JSON at position 0'); |
|
110 | }); |
|
111 | }); |
|
112 | it('execJiraQuery aggregates results if retrieveAllPages = true and if response specifies multiple pages', () => { |
|
113 | let first = '{"resultset": "first"}'; |
|
114 | let second = '{"resultset": "second"}'; |
|
115 | let last = '{"resultset": "last"}'; |
|
116 | sandbox.stub(requestify, 'get', (url) => { |
|
117 | if (url === '') { |
|
118 | return Promise.resolve({code: 200, body: '{"startAt": 0,"total": 12,"maxResults": 5,"issues": [' + first + ']}'}); |
|
119 | } else if (url === '&startAt=5') { |
|
120 | return Promise.resolve({code: 200, body: '{"startAt": 5,"total": 12,"maxResults": 5,"issues": [' + second + ']}'}); |
|
121 | } else { |
|
122 | return Promise.resolve({code: 200, body: '{"startAt": 10,"total": 12,"maxResults": 5,"issues": [' + last + ']}'}); |
|
123 | } |
|
124 | }); |
|
125 | return expect(jira.execJiraQuery('', true)).to.eventually.be.fulfilled |
|
126 | .then((response) => { |
|
127 | expect(response).to.have.property('startAt', 0); |
|
128 | expect(response).to.have.property('total', 12); |
|
129 | expect(response).to.have.property('maxResults', 12); |
|
130 | expect(response).to.have.property('issues'); |
|
131 | expect(response.issues).to.be.an('array'); |
|
132 | expect(response.issues).to.have.length(3); |
|
133 | expect(response.issues[0]).to.have.property('resultset', 'first'); |
|
134 | expect(response.issues[1]).to.have.property('resultset', 'second'); |
|
135 | expect(response.issues[2]).to.have.property('resultset', 'last'); |
|
136 | }); |
|
137 | }); |
|
138 | it('execJiraQuery doesn\'t aggregate results if retrieveAllPages = false', () => { |
|
139 | let first = '{"resultset": "first"}'; |
|
140 | let second = '{"resultset": "second"}'; |
|
@@ 138-161 (lines=24) @@ | ||
135 | expect(response.issues[2]).to.have.property('resultset', 'last'); |
|
136 | }); |
|
137 | }); |
|
138 | it('execJiraQuery doesn\'t aggregate results if retrieveAllPages = false', () => { |
|
139 | let first = '{"resultset": "first"}'; |
|
140 | let second = '{"resultset": "second"}'; |
|
141 | let last = '{"resultset": "last"}'; |
|
142 | sandbox.stub(requestify, 'get', (url) => { |
|
143 | if (url === '') { |
|
144 | return Promise.resolve({code: 200, body: '{"startAt": 0,"total": 12,"maxResults": 5,"issues": [' + first + ']}'}); |
|
145 | } else if (url === '&startAt=5') { |
|
146 | return Promise.resolve({code: 200, body: '{"startAt": 5,"total": 12,"maxResults": 5,"issues": [' + second + ']}'}); |
|
147 | } else { |
|
148 | return Promise.resolve({code: 200, body: '{"startAt": 10,"total": 12,"maxResults": 5,"issues": [' + last + ']}'}); |
|
149 | } |
|
150 | }); |
|
151 | return expect(jira.execJiraQuery('', false)).to.eventually.be.fulfilled |
|
152 | .then((response) => { |
|
153 | expect(response).to.have.property('startAt', 0); |
|
154 | expect(response).to.have.property('total', 12); |
|
155 | expect(response).to.have.property('maxResults', 5); |
|
156 | expect(response).to.have.property('issues'); |
|
157 | expect(response.issues).to.be.an('array'); |
|
158 | expect(response.issues).to.have.length(1); |
|
159 | expect(response.issues[0]).to.have.property('resultset', 'first'); |
|
160 | }); |
|
161 | }); |
|
162 | it('execJiraQuery is rejected if failure occus during aggregation', () => { |
|
163 | let first = '{"resultset": "first"}'; |
|
164 | sandbox.stub(requestify, 'get', (url) => { |