Skip to content
This repository has been archived by the owner on Dec 24, 2023. It is now read-only.

Commit

Permalink
test: increase coverage on screenshots
Browse files Browse the repository at this point in the history
  • Loading branch information
wswebcreation committed May 25, 2019
1 parent 1237179 commit 9dbe93b
Show file tree
Hide file tree
Showing 2 changed files with 320 additions and 1 deletion.
124 changes: 124 additions & 0 deletions lib/methods/__snapshots__/screenshots.spec.ts.snap

Large diffs are not rendered by default.

197 changes: 196 additions & 1 deletion lib/methods/screenshots.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,48 @@ describe('screenshots', () => {
expect(await getBase64FullPageScreenshotsData(MOCKED_TAKESCREENSHOT, MOCKED_EXECUTOR, options)).toMatchSnapshot();
});

it('should get hide elements for the Android nativeWebScreenshot fullpage screenshot', async () => {
const options: FullPageScreenshotDataOptions = {
addressBarShadowPadding: 6,
devicePixelRatio: 2,
fullPageScrollTimeout: 1,
innerHeight: 600,
isAndroid: true,
isAndroidNativeWebScreenshot: true,
isAndroidChromeDriverScreenshot: false,
isIos: false,
toolBarShadowPadding: 6,
hideAfterFirstScroll: [<HTMLElement><unknown>'<div/>'],
};
const MOCKED_EXECUTOR = jest.fn()
// For await executor(getAndroidStatusAddressToolBarHeight, OFFSETS.ANDROID))
.mockResolvedValueOnce({statusAddressBar: {height: 56}})
// THIS NEEDS TO BE FIXED IN THE FUTURE
// getFullPageScreenshotsDataNativeMobile: For await executor(scrollToPosition, scrollY)
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, true);
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(getDocumentScrollHeight)
.mockResolvedValueOnce(788)
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, false);
.mockResolvedValueOnce({})
// RUN 2
// getFullPageScreenshotsDataNativeMobile: For await executor(scrollToPosition, scrollY)
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, true);
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(hideRemoveElements, {hide: hideAfterFirstScroll, remove: []}, true);
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(getDocumentScrollHeight)
.mockResolvedValueOnce(788)
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, false);
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(hideRemoveElements, {hide: hideAfterFirstScroll, remove: []}, false);
.mockResolvedValueOnce({});

expect(await getBase64FullPageScreenshotsData(MOCKED_TAKESCREENSHOT, MOCKED_EXECUTOR, options)).toMatchSnapshot();
});

it('should get the Android ChromeDriver fullpage screenshot data', async () => {
const options: FullPageScreenshotDataOptions = {
addressBarShadowPadding: 6,
Expand All @@ -62,7 +104,7 @@ describe('screenshots', () => {
.mockResolvedValueOnce(1200)
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, false);
.mockResolvedValueOnce({})
// THIS NEEDS TO BE FIXED IN THE FUTURE
// RUN 2
// getFullPageScreenshotsDataNativeMobile: For await executor(scrollToPosition, scrollY)
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, true);
Expand All @@ -76,6 +118,47 @@ describe('screenshots', () => {
expect(await getBase64FullPageScreenshotsData(MOCKED_TAKESCREENSHOT, MOCKED_EXECUTOR, options)).toMatchSnapshot();
});

it('should hide elements for the Android ChromeDriver fullpage screenshot', async () => {
const options: FullPageScreenshotDataOptions = {
addressBarShadowPadding: 6,
devicePixelRatio: 2,
fullPageScrollTimeout: 1,
innerHeight: 800,
isAndroid: true,
isAndroidNativeWebScreenshot: false,
isAndroidChromeDriverScreenshot: true,
isIos: false,
toolBarShadowPadding: 6,
hideAfterFirstScroll: [<HTMLElement><unknown>'<div/>'],
};
const MOCKED_EXECUTOR = jest.fn()
// THIS NEEDS TO BE FIXED IN THE FUTURE
// getFullPageScreenshotsDataNativeMobile: For await executor(scrollToPosition, scrollY)
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, true);
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(getDocumentScrollHeight)
.mockResolvedValueOnce(1200)
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, false);
.mockResolvedValueOnce({})
// RUN 2
// getFullPageScreenshotsDataNativeMobile: For await executor(scrollToPosition, scrollY)
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, true);
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(hideRemoveElements, {hide: hideAfterFirstScroll, remove: []}, true);
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(getDocumentScrollHeight)
.mockResolvedValueOnce(1200)
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, false);
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(hideRemoveElements, {hide: hideAfterFirstScroll, remove: []}, false);
.mockResolvedValueOnce({});

// await getBase64FullPageScreenshotsData(MOCKED_TAKESCREENSHOT, MOCKED_EXECUTOR, options);
expect(await getBase64FullPageScreenshotsData(MOCKED_TAKESCREENSHOT, MOCKED_EXECUTOR, options)).toMatchSnapshot();
});

it('should get the iOS fullpage screenshot data', async () => {
const options: FullPageScreenshotDataOptions = {
addressBarShadowPadding: 6,
Expand All @@ -100,6 +183,34 @@ describe('screenshots', () => {
.mockResolvedValueOnce(1200)
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, false);
.mockResolvedValueOnce({})
// RUN 2
// getFullPageScreenshotsDataNativeMobile: For await executor(scrollToPosition, scrollY)
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, true);
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(getDocumentScrollHeight)
.mockResolvedValueOnce(1200)
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, false);
.mockResolvedValueOnce({});

expect(await getBase64FullPageScreenshotsData(MOCKED_TAKESCREENSHOT, MOCKED_EXECUTOR, options)).toMatchSnapshot();
});

it('should hide elements for the iOS fullpage screenshot', async () => {
const options: FullPageScreenshotDataOptions = {
addressBarShadowPadding: 6,
devicePixelRatio: 2,
fullPageScrollTimeout: 1,
innerHeight: 800,
isAndroid: false,
isAndroidNativeWebScreenshot: false,
isAndroidChromeDriverScreenshot: false,
isIos: true,
toolBarShadowPadding: 6,
hideAfterFirstScroll: [<HTMLElement><unknown>'<div/>'],
};
const MOCKED_EXECUTOR = jest.fn()
.mockResolvedValueOnce({statusAddressBar: {height: 94}})
// THIS NEEDS TO BE FIXED IN THE FUTURE
// getFullPageScreenshotsDataNativeMobile: For await executor(scrollToPosition, scrollY)
.mockResolvedValueOnce({})
Expand All @@ -108,6 +219,19 @@ describe('screenshots', () => {
// getFullPageScreenshotsDataNativeMobile: For await executor(getDocumentScrollHeight)
.mockResolvedValueOnce(1200)
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, false);
.mockResolvedValueOnce({})
// RUN 2
// getFullPageScreenshotsDataNativeMobile: For await executor(scrollToPosition, scrollY)
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, true);
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(hideRemoveElements, {hide: hideAfterFirstScroll, remove: []}, true);
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(getDocumentScrollHeight)
.mockResolvedValueOnce(1200)
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, false);
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(hideRemoveElements, {hide: hideAfterFirstScroll, remove: []}, false);
.mockResolvedValueOnce({});

expect(await getBase64FullPageScreenshotsData(MOCKED_TAKESCREENSHOT, MOCKED_EXECUTOR, options)).toMatchSnapshot();
Expand Down Expand Up @@ -136,6 +260,7 @@ describe('screenshots', () => {
.mockResolvedValueOnce(3200)
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, false);
.mockResolvedValueOnce({})
// RUN 2
// getFullPageScreenshotsDataNativeMobile: For await executor(scrollToPosition, scrollY)
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, true);
Expand All @@ -144,6 +269,7 @@ describe('screenshots', () => {
.mockResolvedValueOnce(3200)
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, false);
.mockResolvedValueOnce({})
// RUN 3
// getFullPageScreenshotsDataNativeMobile: For await executor(scrollToPosition, scrollY)
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, true);
Expand All @@ -152,6 +278,7 @@ describe('screenshots', () => {
.mockResolvedValueOnce(3200)
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, false);
.mockResolvedValueOnce({})
// RUN 4
// getFullPageScreenshotsDataNativeMobile: For await executor(scrollToPosition, scrollY)
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, true);
Expand All @@ -160,6 +287,7 @@ describe('screenshots', () => {
.mockResolvedValueOnce(3200)
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, false);
.mockResolvedValueOnce({})
// RUN 5
// getFullPageScreenshotsDataNativeMobile: For await executor(scrollToPosition, scrollY)
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, true);
Expand All @@ -171,5 +299,72 @@ describe('screenshots', () => {

expect(await getBase64FullPageScreenshotsData(MOCKED_TAKESCREENSHOT, MOCKED_EXECUTOR, options)).toMatchSnapshot();
});

it('should hide elements for the desktop browser fullpage screenshot', async () => {
const options: FullPageScreenshotDataOptions = {
addressBarShadowPadding: 6,
devicePixelRatio: 2,
fullPageScrollTimeout: 1,
innerHeight: 768,
isAndroid: false,
isAndroidNativeWebScreenshot: false,
isAndroidChromeDriverScreenshot: false,
isIos: false,
toolBarShadowPadding: 6,
hideAfterFirstScroll: [<HTMLElement><unknown>'<div/>'],
};
const MOCKED_EXECUTOR = jest.fn()
// THIS NEEDS TO BE FIXED IN THE FUTURE
// getFullPageScreenshotsDataNativeMobile: For await executor(scrollToPosition, scrollY)
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, true);
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(getDocumentScrollHeight)
.mockResolvedValueOnce(3200)
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, false);
.mockResolvedValueOnce({})
// RUN 2
// getFullPageScreenshotsDataNativeMobile: For await executor(scrollToPosition, scrollY)
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, true);
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(hideRemoveElements, {hide: hideAfterFirstScroll, remove: []}, true);
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(getDocumentScrollHeight)
.mockResolvedValueOnce(3200)
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, false);
.mockResolvedValueOnce({})
// RUN 3
// getFullPageScreenshotsDataNativeMobile: For await executor(scrollToPosition, scrollY)
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, true);
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(getDocumentScrollHeight)
.mockResolvedValueOnce(3200)
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, false);
.mockResolvedValueOnce({})
// RUN 4
// getFullPageScreenshotsDataNativeMobile: For await executor(scrollToPosition, scrollY)
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, true);
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(getDocumentScrollHeight)
.mockResolvedValueOnce(3200)
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, false);
.mockResolvedValueOnce({})
// RUN 5
// getFullPageScreenshotsDataNativeMobile: For await executor(scrollToPosition, scrollY)
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, true);
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(getDocumentScrollHeight)
.mockResolvedValueOnce(3200)
// getFullPageScreenshotsDataNativeMobile: For await executor(hideScrollBars, false);
.mockResolvedValueOnce({})
// getFullPageScreenshotsDataNativeMobile: For await executor(hideRemoveElements, {hide: hideAfterFirstScroll, remove: []}, false);
.mockResolvedValueOnce({});

expect(await getBase64FullPageScreenshotsData(MOCKED_TAKESCREENSHOT, MOCKED_EXECUTOR, options)).toMatchSnapshot();
});
});
});

0 comments on commit 9dbe93b

Please sign in to comment.