@wdio/image-comparison-core
Version:
Image comparison core module for @wdio/visual-service - WebdriverIO visual testing framework
48 lines (47 loc) • 1.64 kB
JavaScript
import { describe, it, expect, vi, afterEach, beforeEach } from 'vitest';
import saveScreen from './saveScreen.js';
import { createBaseOptions } from '../mocks/mocks.js';
vi.mock('./saveAppScreen.js', () => ({
default: vi.fn().mockResolvedValue({
devicePixelRatio: 2,
fileName: 'test-app-screen.png'
})
}));
vi.mock('./saveWebScreen.js', () => ({
default: vi.fn().mockResolvedValue({
devicePixelRatio: 2,
fileName: 'test-web-screen.png'
})
}));
describe('saveScreen', () => {
let saveAppScreen;
let saveWebScreen;
const baseOptions = createBaseOptions('screen');
beforeEach(async () => {
saveAppScreen = (await import('./saveAppScreen.js')).default;
saveWebScreen = (await import('./saveWebScreen.js')).default;
});
afterEach(() => {
vi.clearAllMocks();
});
it('should call saveAppScreen when in native context', async () => {
const options = {
...baseOptions,
isNativeContext: true
};
const result = await saveScreen(options);
expect(result).toMatchSnapshot();
expect(saveAppScreen).toHaveBeenCalledWith(options);
expect(saveWebScreen).not.toHaveBeenCalled();
});
it('should call saveWebScreen when not in native context', async () => {
const options = {
...baseOptions,
isNativeContext: false
};
const result = await saveScreen(options);
expect(result).toMatchSnapshot();
expect(saveWebScreen).toHaveBeenCalledWith(options);
expect(saveAppScreen).not.toHaveBeenCalled();
});
});