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();
}
}