feat(backup): tap automatic-backups to make a copy now
This commit is contained in:
parent
7cba4f7fcf
commit
e90a3831f2
4 changed files with 112 additions and 9 deletions
|
|
@ -9,6 +9,8 @@ import 'package:tane/data/export_import/inventory_json_codec.dart';
|
|||
import 'package:tane/db/database.dart';
|
||||
import 'package:tane/i18n/strings.g.dart';
|
||||
import 'package:tane/security/secure_key_store.dart';
|
||||
import 'package:tane/services/auto_backup_service.dart';
|
||||
import 'package:tane/services/auto_backup_store.dart';
|
||||
import 'package:tane/services/export_import_service.dart';
|
||||
import 'package:tane/services/file_service.dart';
|
||||
import 'package:tane/services/recovery_sheet_service.dart';
|
||||
|
|
@ -232,4 +234,46 @@ void main() {
|
|||
// of the sheet. Just assert it saved and confirmed.
|
||||
expect(find.text('Copy saved'), findsOneWidget);
|
||||
});
|
||||
|
||||
testWidgets('tapping the automatic-backups line makes a copy now', (
|
||||
tester,
|
||||
) async {
|
||||
final spy = _SpyAutoBackup(db);
|
||||
await tester.pumpWidget(
|
||||
wrap(
|
||||
Scaffold(
|
||||
body: BackupSection(service: service, sheet: sheet, autoBackup: spy),
|
||||
),
|
||||
),
|
||||
);
|
||||
await tester.pump(); // resolve the "last copy" future
|
||||
|
||||
await tester.tap(find.text('Automatic backups'));
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
expect(spy.calls, 1);
|
||||
expect(find.text('Copy saved'), findsOneWidget);
|
||||
});
|
||||
}
|
||||
|
||||
/// Counts explicit "back up now" taps without touching the disk.
|
||||
class _SpyAutoBackup extends AutoBackupService {
|
||||
_SpyAutoBackup(AppDatabase db)
|
||||
: super(
|
||||
exporter: ExportImportService(
|
||||
repository: newTestRepository(db),
|
||||
files: FakeFileService(),
|
||||
keys: SecureKeyStore(store: InMemorySecretStore()),
|
||||
),
|
||||
store: AutoBackupStore(InMemorySecretStore()),
|
||||
directory: () async => throw UnimplementedError(),
|
||||
);
|
||||
|
||||
int calls = 0;
|
||||
|
||||
@override
|
||||
Future<bool> backupNow() async {
|
||||
calls++;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue