Skip to content

Commit d00494d

Browse files
authored
Merge pull request #175 from synonymdev/feat/in-app-v61
Feat/in app v61
2 parents 8c95d78 + 909582d commit d00494d

2 files changed

Lines changed: 26 additions & 14 deletions

File tree

test/helpers/widgets.ts

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,13 @@ const WIDGETS: Record<WidgetId, WidgetMetadata> = {
4040
facts: {
4141
listItemId: 'WidgetListItem-facts',
4242
actionName: 'Bitcoin Facts',
43-
homeId: () => (driver.isIOS ? 'FactsWidget' : undefined),
43+
homeId: () => 'FactsWidget',
4444
hasSettings: () => false,
4545
},
4646
weather: {
4747
listItemId: 'WidgetListItem-weather',
4848
actionName: 'Bitcoin Weather',
49-
homeId: () => (driver.isIOS ? 'WeatherWidget' : undefined),
49+
homeId: () => 'WeatherWidget',
5050
hasSettings: () => true,
5151
},
5252
suggestions: {
@@ -98,6 +98,24 @@ export async function scrollHomeToWidgets() {
9898
await sleep(500);
9999
}
100100

101+
/** Home widgets pager is available (scroll + edit control). When hidden, do not scroll. */
102+
export async function expectHomeWidgetsSection(
103+
visible: boolean,
104+
{ timeout = 8_000 }: { timeout?: number } = {},
105+
) {
106+
if (visible) {
107+
await scrollHomeToWidgets();
108+
await elementById('WidgetsEdit').waitForDisplayed({ timeout, interval: 250 });
109+
return;
110+
}
111+
112+
await elementById('WidgetsEdit').waitForDisplayed({
113+
reverse: true,
114+
timeout,
115+
interval: 250,
116+
});
117+
}
118+
101119
export async function openWidgetsFeed() {
102120
await scrollHomeToWidgets();
103121
await tap('WidgetsAdd');

test/specs/widgets.e2e.ts

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import {
1414
addWidget,
1515
deleteAllDefaultWidgets,
1616
deleteWidget,
17+
expectHomeWidgetsSection,
1718
expectWidgetPresent,
1819
expectWidgetSavedInEditList,
1920
openSavedWidgetPreview,
@@ -60,8 +61,9 @@ describe('@widgets - Widgets', () => {
6061
await elementById('PriceWidgetRow-BTC/EUR').waitForDisplayed();
6162

6263
await openSavedWidgetPreview('price');
63-
await tap('WidgetEditReset');
6464
await sleep(1000);
65+
await tap('WidgetEditReset');
66+
await sleep(2000);
6567
await tap('WidgetEditPreview');
6668
await elementById('WidgetSave').waitForDisplayed();
6769
await sleep(1000);
@@ -99,34 +101,26 @@ describe('@widgets - Widgets', () => {
99101
await tap('DialogConfirm');
100102
await sleep(1000);
101103

102-
await scrollHomeToWidgets();
104+
await expectHomeWidgetsSection(true);
103105
await expectWidgetPresent('price');
104-
await expectWidgetPresent('weather');
105106
await expectWidgetPresent('calculator');
106-
await expectWidgetPresent('blocks');
107107

108108
await openSettings();
109109
await tap('WidgetsSettings');
110110
await tap('ShowWidgets');
111111
await tap('NavigationBack');
112112
await doNavigationClose();
113113

114-
await scrollHomeToWidgets();
115-
await expectWidgetPresent('price', false, { timeout: 5000 });
116-
await expectWidgetPresent('weather', false, { timeout: 5000 });
117-
await expectWidgetPresent('calculator', false, { timeout: 5000 });
118-
await expectWidgetPresent('blocks', false, { timeout: 5000 });
114+
await expectHomeWidgetsSection(false, { timeout: 5_000 });
119115

120116
await openSettings();
121117
await tap('WidgetsSettings');
122118
await tap('ShowWidgets');
123119
await tap('NavigationBack');
124120
await doNavigationClose();
125121

126-
await scrollHomeToWidgets();
122+
await expectHomeWidgetsSection(true);
127123
await expectWidgetPresent('price');
128-
await expectWidgetPresent('weather');
129124
await expectWidgetPresent('calculator');
130-
await expectWidgetPresent('blocks');
131125
});
132126
});

0 commit comments

Comments
 (0)