Есть ли способ сделать это более элегантным решением? Это работает, но есть ли менее подробный способ сделать это?
let browserSpy;
let setDefaultNavigationTimeoutSpy;
let gotoSpy;
let waitForSelectorSpy, typeSpy, clickSpy, consoleSpy
setDefaultNavigationTimeoutSpy = jasmine.createSpy().and.returnValue(Promise.resolve(true))
gotoSpy = jasmine.createSpy().and.returnValue(Promise.resolve(true))
waitForSelectorSpy = jasmine.createSpy().and.returnValue(Promise.resolve(true))
typeSpy = jasmine.createSpy().and.returnValue(Promise.resolve(true))
clickSpy = jasmine.createSpy().and.returnValue(Promise.resolve(true))
let selectSpy = jasmine.createSpy().and.returnValue(Promise.resolve(true))
let newPageSpy = jasmine.createSpy().and.returnValue(Promise.resolve(true))
let evalSpy = jasmine.createSpy().and.returnValue(Promise.resolve("MockedEvaluatedData"))
let mockPage = {
newPage:newPageSpy,
evaluate:evalSpy,
setDefaultNavigationTimeout: setDefaultNavigationTimeoutSpy,
goto: gotoSpy,
waitForSelector:waitForSelectorSpy,
type:typeSpy,
click: clickSpy,
select:selectSpy
};
newPageSpy = jasmine.createSpy().and.returnValue(mockPage);
let newContextSpy = jasmine.createSpy().and.returnValue({newPage:newPageSpy});
let browserMock = { newContext: newContextSpy };
return {
browserMock:browserMock,
spies:mockPage,
contextMock: newContextSpy
}