|
@@ 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) => { |