Я пытаюсь добавить местоположение в теле моего запроса к нескольким тестам botium. Единственный способ, которым мне удалось это сделать, - это использование пользовательских ассеттеров. Это надежный способ сделать это? Это единственный способ сделать это?
convo.txt
Market Snapshot near me
#begin
LOCATION
#me
Show me snapshot near me
#bot
There are 9 market snaps near your location.
CARDS snapshot
#end
LOCATION
LocationAsserter.js
module.exports = class LocationAsserter {
constructor(context, caps = {}) {
this.context = context;
this.caps = caps;
}
assertConvoBegin({ convo, container, args }) {
console.log(`MyAsserter assertConvoBegin: ${convo.header.name}`);
this.caps.SIMPLEREST_BODY_TEMPLATE.location = {
latitude: 30.4,
longitude: -97.7,
};
return Promise.resolve();
}
assertConvoStep({ convo, convoStep, args, botMsg }) {
console.log(`MyAsserter assertConvoStep, botMessage: ...`);
return Promise.resolve();
}
assertConvoEnd({ convo, container, msgs, args }) {
console.log(`MyAsserter assertConvoEnd ${convo.header.name}, converstation: ...`);
delete this.caps.SIMPLEREST_BODY_TEMPLATE.location;
return Promise.resolve();
}
};