import logger from '@wdio/logger' import { SESSION_MOCKS } from './mock.js' const log = logger('webdriverio:mockClearAll') /** * Resets all information stored in all registered mocks of the session. * * :mockClearAll.js it('should clear all mocks', async () => { const docMock = await browser.mock('**', { headers: { 'Content-Type': 'text/html' } }) const jsMock = await browser.mock('**', { headers: { 'Content-Type': 'application/javascript' } }) await browser.url('https://guinea-pig.webdriver.io/') console.log(docMock.calls.length, jsMock.calls.length) // returns "1 4" await browser.url('https://guinea-pig.webdriver.io/') console.log(docMock.calls.length, jsMock.calls.length) // returns "2 4" (JavaScript comes from cache) await browser.mockClearAll() console.log(docMock.calls.length, jsMock.calls.length) // returns "0 0" }) * * * @alias browser.mockClearAll */ export async function mockClearAll (): Promise { for (const [handle, mocks] of Object.entries(SESSION_MOCKS)) { log.trace(`Clearing mocks for ${handle}`) for (const mock of mocks) { mock.clear() } } }