mirror of
https://github.com/foss42/apidash.git
synced 2025-05-29 21:06:01 +08:00
58 lines
1.9 KiB
Dart
58 lines
1.9 KiB
Dart
import 'dart:io';
|
|
import 'package:apidash/services/hive_services.dart';
|
|
import 'package:flutter/services.dart';
|
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
|
|
/// A testing utility which creates a [ProviderContainer] and automatically
|
|
/// disposes it at the end of the test.
|
|
ProviderContainer createContainer({
|
|
ProviderContainer? parent,
|
|
List<Override> overrides = const [],
|
|
List<ProviderObserver>? observers,
|
|
}) {
|
|
// Create a ProviderContainer, and optionally allow specifying parameters.
|
|
final container = ProviderContainer(
|
|
parent: parent,
|
|
overrides: overrides,
|
|
observers: observers,
|
|
);
|
|
|
|
// When the test ends, dispose the container.
|
|
addTearDown(container.dispose);
|
|
|
|
return container;
|
|
}
|
|
|
|
Future<void> testSetUpForHive() async {
|
|
// override path_provider methodCall to point
|
|
// path to temporary location for all unit tests
|
|
const MethodChannel channel =
|
|
MethodChannel('plugins.flutter.io/path_provider');
|
|
|
|
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
|
|
.setMockMethodCallHandler(channel, (MethodCall methodCall) async {
|
|
return './test-hive-storage/';
|
|
});
|
|
|
|
await initHiveBoxes(false, null);
|
|
// await deleteHiveBoxes();
|
|
// await openHiveBoxes();
|
|
}
|
|
|
|
Future<void> testSetUpTempDirForHive() async {
|
|
const MethodChannel channel =
|
|
MethodChannel('plugins.flutter.io/path_provider');
|
|
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
|
|
.setMockMethodCallHandler(channel, (MethodCall methodCall) async {
|
|
if (methodCall.method == 'getApplicationDocumentsDirectory') {
|
|
// Create a mock app doc directory for testing
|
|
Directory tempDir =
|
|
await Directory.systemTemp.createTemp('mock_app_doc_dir');
|
|
return tempDir.path; // Return the path to the mock directory
|
|
}
|
|
return null;
|
|
});
|
|
await initHiveBoxes(false, null);
|
|
}
|