describe('YoutubeService.getTrendingVideos', function() {
it('should resolve to expectedResult', function() {
const params = {
id: 'O2uf_RveI80',
title:
'Shambho Shankara Full Movie - 2018 Telugu Full Movies - Shakalaka Shankar, Karunya',
thumbnail: 'https://i.ytimg.com/vi/O2uf_RveI80/hqdefault.jpg',
publishedAt: '2 days ago',
};
return chai.assert.isObject(getTrends.YoutubeService.getVideoDetails(params),'object match found');
});
Выше приведено тестовое утверждение, написанное в chai, для проверки, является ли функция ретранслирующим объектом или нет.
функция выглядит следующим образом:
export class YoutubeService {
getTrendingVideos(country) {
var params = {
part: 'snippet',
chart: 'mostPopular',
regionCode: country, // should be replaced with country code from countryList
maxResults: '24',
key: config.youtubeApi.key
};
let result = [];
let promises = [];
return axios.get('/', {params}).then(function(res){
result = res.data.items;
for (var i = 0; i < result.length; i++) {
result[i] = {
id: result[i].id,
title: result[i].snippet.title,
thumbnail: result[i].snippet.thumbnails.high.url,
publishedAt: moment(result[i].snippet.publishedAt).fromNow()
};
promises.push(YoutubeService.getVideoDetails(result[i]));
}
return Promise.all(promises);
});
}
static getVideoDetails(video) {
let params = {
part: 'statistics',
id: video.id,
key: config.youtubeApi.key
};
return axios.get('/', {params}).then(function(res) {
let result = res.data;
video.viewCount = result['items'][0].statistics.viewCount;
video.likeCount = result['items'][0].statistics.likeCount;
return video;
});
}
}
Я сталкиваюсь со следующей проблемой:
expected {} to be an object
Как я могу решить это? Я новичок в тестировании в мокко и чай
Заранее спасибо.