Skip to content

Commit 7ef790a

Browse files
committed
adding support for RetrieveAndRankV1.rank() answers param
1 parent 61ae2c7 commit 7ef790a

3 files changed

Lines changed: 29 additions & 7 deletions

File tree

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# v2.3.0
2+
* Add support for RetrieveAndRankV1.rank() answers param
3+
14
# v2.2.0
25
* Added support for creating and managing TTS Customizations
36

retrieve-and-rank/v1.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,15 +85,16 @@ RetrieveAndRankV1.prototype.rank = function(params, callback) {
8585
return;
8686
}
8787

88+
var topLevelParams = ['answer_data', 'answers'];
89+
var formData = pick(params, topLevelParams);
90+
formData.answer_metadata = JSON.stringify(omit(params, topLevelParams));
91+
8892
var parameters = {
8993
options: {
9094
url: '/v1/rankers/{ranker_id}/rank',
9195
method: 'POST',
9296
json: true,
93-
formData: {
94-
answer_data: params.answer_data,
95-
answer_metadata: JSON.stringify(omit(params, ['answer_data']))
96-
},
97+
formData: formData,
9798
path: pick(params, ['ranker_id'])
9899
},
99100
requiredParams: ['ranker_id'],

test/test.retrieve_and_rank.v1.js

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -402,9 +402,6 @@ describe('retrieve_and_rank', function() {
402402

403403
search.deleteRanker({}, missingParameter);
404404
search.deleteRanker(null, missingParameter);
405-
406-
search.rank({ranker_id: 'ranker1'}, missingParameter);
407-
search.rank({ranker_id: 'ranker1', answer_metadata: rankerData }, missingParameter);
408405
});
409406

410407
it('should generate a valid payload when creating a ranker', function(done) {
@@ -440,4 +437,25 @@ describe('retrieve_and_rank', function() {
440437
});
441438
});
442439

440+
describe('rank()', function() {
441+
it('check missing parameters', function() {
442+
search.rank({ranker_id: 'ranker1'}, missingParameter);
443+
search.rank({ranker_id: 'ranker1', answer_metadata: rankerData }, missingParameter);
444+
});
445+
446+
it('should support the answers parameter', function(done) {
447+
nock(service.url)
448+
.post(rankPath + '/rank')
449+
.reply(200, rankResponse);
450+
var req = search.rank({ranker_id: 'foo', answers: 3, answer_data: 'bar'}, function(err){
451+
if (err) {
452+
return done(err);
453+
}
454+
});
455+
assert.equal(req.formData.answers, 3);
456+
done();
457+
});
458+
});
459+
460+
443461
});

0 commit comments

Comments
 (0)