mirror of https://gitlab.com/KKlochko/tui-rsync
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.3 KiB
36 lines
1.3 KiB
from behave import fixture, use_fixture
|
|
from injector import Injector
|
|
|
|
from tui_rsync.core.components.backup_plan.application.repository.backup_plan_repository import BackupPlanRepository
|
|
from tui_rsync.core.components.backup_plan.application.services.backup_plan_service import BackupPlanService
|
|
from tui_rsync.infrastructure.configuration import TestingConfiguration, CurrentConfiguration
|
|
from tui_rsync.infrastructure.orm import InMemoryDatabaseManager
|
|
|
|
|
|
@fixture
|
|
def setup_in_memory_database_manager(context):
|
|
context.db = context.injector.get(InMemoryDatabaseManager)
|
|
yield context.db
|
|
|
|
|
|
@fixture
|
|
def setup_backup_plan_service(context):
|
|
context.backup_plan_service = context.injector.get(BackupPlanService)
|
|
yield context.backup_plan_service
|
|
|
|
|
|
@fixture
|
|
def setup_injector_for_testing(context):
|
|
context.injector = Injector([TestingConfiguration()])
|
|
CurrentConfiguration.set_injector(context.injector)
|
|
yield context.injector
|
|
|
|
|
|
def before_tag(context, tag):
|
|
if tag == "fixture.injector":
|
|
use_fixture(setup_injector_for_testing, context)
|
|
if tag == "fixture.in_memory_database":
|
|
use_fixture(setup_in_memory_database_manager, context)
|
|
if tag == "fixture.backup_plan_service":
|
|
use_fixture(setup_backup_plan_service, context)
|