Я просто предположил и заглушил некоторые из не предоставленных деталей.
Вот элемент лайтбокса
export default function lightboxParent(componentId) {
return {
options: {
componentId,
},
model: {
get: id => (id === "album" ? "album" : "shortcut"),
},
lightboxUrl: function() {
var componentId = this.options.componentId;
if (componentId) {
var album = this.model.get("album");
var shortcut = this.model.get("shortcut");
return "/lightbox/" + componentId + "/" + album + "/" + shortcut;
}
}
}
}
Вот шутник
describe("lightbox url", () => {
it("should be valid url", () => {
expect(lightboxParent(1).lightboxUrl()).toBe(
"/lightbox/1/album/shortcut"
);
});
it("should not resolve valid url, no componentId", () => {
expect(lightboxParent().lightboxUrl()).toBe(undefined);
});
});
я использовал для этого коды и поля https://codesandbox.io/s/n4mlqkr4qj
Это базовый тест, просто проверяющий URL, который возвращает метод lightboxUrl
, или, если нет componentId, это undefined
, так как весь src был предоставлен, и я сделал несколько предположений, я просто оставил его базовым