Code Duplication    Length = 24-26 lines in 2 locations

test/test-jira.js 2 locations

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