Я собираюсь потестить фатч с мокко. Я использую тестовую выборку с mocha и chai , чтобы начать работу, но продолжаю сталкиваться с множеством ошибок.
Вот тестовый код:
var jsdom = require('mocha-jsdom')
global.document = jsdom();
const chai = require( 'chai' ).assert;
const fetch = require("node-fetch");
const chaiHTTP = require("chai-http");
const index = require('../client/js/index');
chai.should();
chai.use(chaiHTTP)
describe('Index', function(){
it( "renders book data ", async () =>{
await fetchBooks()
.then(() => {
expect(renderBooks).to.have.been.called();
})
})
})
Это вызывает следующую ошибку:
TypeError: Cannot read property 'querySelector' of undefined
Вероятно, селектор не возвращает никаких элементов на этапе, когда скрипт выполняется. Не знаю почему.
//index.js
function fetchBooks(){
fetch(`https://anapioficeandfire.com/api/books`)
.then(res => res.json())
.then(renderBooks)
}
const main = document.querySelector('#main')
function renderBooks(data) {
data.forEach(book => {
h2.innerHTML = `<h2>${book.name}</h2>`
})
}