У меня есть файл, который в основном выглядит следующим образом (сокращенно)
const octokit = new (require("@octokit/rest"))();
function buildRepo(name) {
fs.promises
.readFile("data/settings.json")
.then(data => JSON.parse(data))
.then(settings => settings.repositories.find(repo => repo.name === name))
.then(repo => {
let repoName = repo.url
.substring(repo.url.lastIndexOf("/") + 1)
.slice(0, -4);
let jobName = repo.name;
return octokit.repos
.get({
owner: "munhunger",
repo: repoName
})
.then(({ data }) => {
...
});
});
}
module.exports = { buildRepo };
И поэтому я хочу написать тест на то, что он делает с данными, полученными из функции octokit.repos.get
.Но так как эта функция будет выходить в Интернет и смотреть на репозитории GitHub, я хочу поиграть с ней.
У меня есть несколько тестов, работающих с жасмином, и я немного прочитал об этом, и кажется, что жасминдолжен быть в состоянии посмеяться над этим для меня.
Тем не менее, тест, который я написал, кажется, не удается.
const builder = require("./index");
describe("spyOn", () => {
it("spies", () => {
spyOnProperty(builder, "octokit");
builder.buildRepo("blitzbauen");
});
});
С ошибкой octokit property does not exist
.Что я здесь не так делаю?нужно ли добавить octokit
к module.exports
? (что выглядит довольно безумно)