Updates to add more ads and fix ad types.

This commit is contained in:
Courtney Arnold 2026-08-31 20:17:22 -05:00
parent ad850d2be6
commit ad2d932842
17 changed files with 552 additions and 59 deletions

View file

@ -179,9 +179,11 @@ void main() {
final syncService = CloudSyncService(provider: provider, databaseService: databaseService);
syncService.configure('app-folder-id');
var everSyncedBeforeSeen = false;
final result = await syncService.syncNow(
beforeUpload: () async {
beforeUpload: ({required everSyncedBefore}) async {
calls.add('beforeUpload');
everSyncedBeforeSeen = everSyncedBefore;
return true;
},
);
@ -190,6 +192,8 @@ void main() {
expect(result.adGateBlocked, isFalse);
expect(calls.first, 'download', reason: 'pull/merge happens first');
expect(calls[1], 'beforeUpload');
expect(everSyncedBeforeSeen, isTrue,
reason: 'a remote data file already existed for this sync');
// Everything after beforeUpload is an upload (the data-file push,
// possibly preceded by pending receipt uploads — none pending here).
expect(calls.skip(2), everyElement(startsWith('upload:')));
@ -204,15 +208,19 @@ void main() {
final syncService = CloudSyncService(provider: provider, databaseService: databaseService);
syncService.configure('app-folder-id');
var everSyncedBeforeSeen = true;
await syncService.syncNow(
beforeUpload: () async {
beforeUpload: ({required everSyncedBefore}) async {
calls.add('beforeUpload');
everSyncedBeforeSeen = everSyncedBefore;
return true;
},
);
expect(calls.first, 'beforeUpload');
expect(calls, contains('upload:$dataFileName'));
expect(everSyncedBeforeSeen, isFalse,
reason: 'no remote data file existed — this is the first sync ever');
});
test('a false return blocks the upload but keeps whatever was already pulled/merged',
@ -228,7 +236,8 @@ void main() {
final syncService = CloudSyncService(provider: provider, databaseService: databaseService);
syncService.configure('app-folder-id');
final result = await syncService.syncNow(beforeUpload: () async => false);
final result =
await syncService.syncNow(beforeUpload: ({required everSyncedBefore}) async => false);
expect(result.ranSync, isFalse);
expect(result.adGateBlocked, isTrue);

View file

@ -76,6 +76,8 @@ void main() {
await tester.scrollUntilVisible(find.text('See the FAQ for more'), 200,
scrollable: find.byType(Scrollable));
await tester.ensureVisible(find.text('See the FAQ for more'));
await tester.pumpAndSettle();
await tester.tap(find.text('See the FAQ for more'));
await tester.pumpAndSettle();