Skip to content

Commit 19e93b6

Browse files
committed
widget_3
1 parent 8c95d78 commit 19e93b6

2 files changed

Lines changed: 24 additions & 13 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: 4 additions & 11 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,
@@ -99,34 +100,26 @@ describe('@widgets - Widgets', () => {
99100
await tap('DialogConfirm');
100101
await sleep(1000);
101102

102-
await scrollHomeToWidgets();
103+
await expectHomeWidgetsSection(true);
103104
await expectWidgetPresent('price');
104-
await expectWidgetPresent('weather');
105105
await expectWidgetPresent('calculator');
106-
await expectWidgetPresent('blocks');
107106

108107
await openSettings();
109108
await tap('WidgetsSettings');
110109
await tap('ShowWidgets');
111110
await tap('NavigationBack');
112111
await doNavigationClose();
113112

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 });
113+
await expectHomeWidgetsSection(false, { timeout: 5_000 });
119114

120115
await openSettings();
121116
await tap('WidgetsSettings');
122117
await tap('ShowWidgets');
123118
await tap('NavigationBack');
124119
await doNavigationClose();
125120

126-
await scrollHomeToWidgets();
121+
await expectHomeWidgetsSection(true);
127122
await expectWidgetPresent('price');
128-
await expectWidgetPresent('weather');
129123
await expectWidgetPresent('calculator');
130-
await expectWidgetPresent('blocks');
131124
});
132125
});

0 commit comments

Comments
 (0)