46 lines
1.5 KiB
Dart
46 lines
1.5 KiB
Dart
import 'package:backend_dart/domain/data/database.dart';
|
|
import 'package:backend_dart/domain/data/project_data_source.dart';
|
|
import 'package:backend_dart/domain/data/project_task_data_source.dart';
|
|
import 'package:backend_dart/domain/data/time_entry_data_source.dart';
|
|
import 'package:backend_dart/domain/data/user_data_source.dart';
|
|
import 'package:backend_dart/domain/entities/project.dart';
|
|
import 'package:backend_dart/domain/entities/project_task.dart';
|
|
import 'package:backend_dart/domain/entities/time_entry.dart';
|
|
import 'package:backend_dart/domain/entities/user.dart';
|
|
|
|
import 'mock_project_data_source.dart';
|
|
import 'mock_project_task_data_source.dart';
|
|
import 'mock_time_entry_data_source.dart';
|
|
import 'mock_user_data_source.dart';
|
|
|
|
class MockDatabase implements IDatabase {
|
|
final Map<String, User> _usersStore = {};
|
|
final Map<String, ProjectTask> _tasksStore = {};
|
|
final Map<String, Project> _projectsStore = {};
|
|
final Map<String, TimeEntry> _timeEntriesStore = {};
|
|
@override
|
|
Future<void> close() {
|
|
throw UnimplementedError();
|
|
}
|
|
|
|
@override
|
|
ProjectDataSource get projects => MockProjectDataSource(_projectsStore);
|
|
|
|
@override
|
|
ProjectTaskDataSource get tasks => MockProjectTaskDataSource(_tasksStore);
|
|
|
|
@override
|
|
TimeEntryDataSource get timeEntries =>
|
|
MockTimeEntryDataSource(_timeEntriesStore);
|
|
|
|
@override
|
|
UserDataSource get users => MockUserDataSource(_usersStore);
|
|
|
|
void clear() {
|
|
_usersStore.clear();
|
|
_tasksStore.clear();
|
|
_projectsStore.clear();
|
|
_timeEntriesStore.clear();
|
|
}
|
|
}
|