Skip to content

Commit 0c50fe8

Browse files
committed
fix: add expect method toBeInViewport instead of separate asserts
1 parent 72b7b39 commit 0c50fe8

28 files changed

Lines changed: 228 additions & 179 deletions

autotests/tests/main/exists.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ test('exists', {meta: {testId: '1'}, testIdleTimeout: 10_000, testTimeout: 15_00
4444

4545
const mainPage = await navigateToPage(Main, {language});
4646

47+
await expect(mainPage.header, 'header is in viewport').toBeInViewport({ratio: 1});
48+
4749
await expect(mainPage.header.textContent, 'header text is ok').ok();
4850

4951
const urlObject = await urlObjectPromise;
Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import {LogEventType} from '../../../constants/internal';
22
import {expect} from '../../../expect';
3+
import {step} from '../../../step';
34
import {getDistanceBetweenSelectors} from '../../../utils/distanceBetweenSelectors';
4-
import {log} from '../../../utils/log';
55

66
import type {Selector} from '../../../types/internal';
77

@@ -14,11 +14,18 @@ export const assertDistanceBetweenSelectorsGte = async (
1414
selectorB: Selector,
1515
minDistance: number,
1616
): Promise<void> => {
17-
const distance = await getDistanceBetweenSelectors(selectorA, selectorB);
18-
const message = `distance between selectors is greater than or equal to ${minDistance}`;
17+
const message = `distance between selectors is greater than or equal to ${minDistance}px`;
1918

20-
log(`Asserts that ${message}`, {distance, minDistance}, LogEventType.InternalAssert);
19+
await step(
20+
`Asserts that ${message}`,
21+
async () => {
22+
const distance = await getDistanceBetweenSelectors(selectorA, selectorB);
2123

22-
// TODO: support Smart Assertions
23-
await expect(distance, message).gte(minDistance);
24+
// TODO: support Smart Assertions
25+
await expect(distance, message).gte(minDistance);
26+
27+
return {distance};
28+
},
29+
{payload: {minDistance}, type: LogEventType.InternalAction},
30+
);
2431
};
Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import {LogEventType} from '../../../constants/internal';
22
import {expect} from '../../../expect';
3+
import {step} from '../../../step';
34
import {getDistanceBetweenSelectors} from '../../../utils/distanceBetweenSelectors';
4-
import {log} from '../../../utils/log';
55

66
import type {Selector} from '../../../types/internal';
77

@@ -14,11 +14,18 @@ export const assertDistanceBetweenSelectorsLte = async (
1414
selectorB: Selector,
1515
maxDistance: number,
1616
): Promise<void> => {
17-
const distance = await getDistanceBetweenSelectors(selectorA, selectorB);
18-
const message = `distance between selectors is less than or equal to ${maxDistance}`;
17+
const message = `distance between selectors is less than or equal to ${maxDistance}px`;
1918

20-
log(`Asserts that ${message}`, {distance, maxDistance}, LogEventType.InternalAssert);
19+
await step(
20+
`Asserts that ${message}`,
21+
async () => {
22+
const distance = await getDistanceBetweenSelectors(selectorA, selectorB);
2123

22-
// TODO: support Smart Assertions
23-
await expect(distance, message).lte(maxDistance);
24+
// TODO: support Smart Assertions
25+
await expect(distance, message).lte(maxDistance);
26+
27+
return {distance};
28+
},
29+
{payload: {maxDistance}, type: LogEventType.InternalAction},
30+
);
2431
};

src/actions/asserts/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,3 @@ export {
44
assertDistanceBetweenSelectorsGte,
55
assertDistanceBetweenSelectorsLte,
66
} from './distanceBetweenSelectors';
7-
export {assertSelectorEntirelyInViewport, assertSelectorInViewport} from './viewport';

src/actions/asserts/viewport/assertSelectorEntirelyInViewport.ts

Lines changed: 0 additions & 20 deletions
This file was deleted.

src/actions/asserts/viewport/assertSelectorInViewport.ts

Lines changed: 0 additions & 20 deletions
This file was deleted.

src/actions/asserts/viewport/index.ts

Lines changed: 0 additions & 2 deletions
This file was deleted.

src/actions/index.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ export {
22
assertDistanceBetweenSelectorsGte,
33
assertDistanceBetweenSelectorsLte,
44
assertNumbersAreApproximatelyEqual,
5-
assertSelectorEntirelyInViewport,
6-
assertSelectorInViewport,
75
assertUrlMatchRoute,
86
} from './asserts';
97
export {blur} from './blur';

src/actions/navigateToUrl.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {getPlaywrightPage} from '../useContext';
55
import type {NavigateToUrlOptions, NavigationReturn, StatusCode, Url} from '../types/internal';
66

77
/**
8-
* Navigate to the `url` (without waiting of interface stabilization).
8+
* Navigates to the `url` (without waiting of interface stabilization).
99
*/
1010
export const navigateToUrl = async (
1111
url: Url,

src/actions/setCookies.ts

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,21 @@
11
import {LogEventType} from '../constants/internal';
2+
import {step} from '../step';
23
import {getPlaywrightPage} from '../useContext';
3-
import {log} from '../utils/log';
44

55
import type {Cookie} from '../types/internal';
66

77
/**
88
* Set cookies with the specified cookies parameters.
99
*/
10-
export const setCookies = async (cookies: readonly Cookie[]): Promise<void> => {
11-
log('Set cookies with the specified cookies parameters', {cookies}, LogEventType.InternalAction);
10+
export const setCookies = (cookies: readonly Cookie[]): Promise<void> =>
11+
step(
12+
'Set cookies with the specified cookies parameters',
13+
async () => {
14+
const page = getPlaywrightPage();
1215

13-
const page = getPlaywrightPage();
16+
const browserContext = page.context();
1417

15-
const browserContext = page.context();
16-
17-
await browserContext.addCookies(cookies);
18-
};
18+
await browserContext.addCookies(cookies);
19+
},
20+
{payload: {cookies}, type: LogEventType.InternalAction},
21+
);

0 commit comments

Comments
 (0)