def test_DomainModel_persist_calls_persisters(mocker): persister_1 = DummyPersister() persister_2 = DummyPersister() m = DomainModel() m.add_persistence_model(persister_1) m.add_persistence_model(persister_2) mocked_persist_1 = mocker.patch.object(persister_1, "persist") mocked_persist_2 = mocker.patch.object(persister_2, "persist") m.persist() mocked_persist_1.assert_called_once_with(m) mocked_persist_2.assert_called_once_with(m)
def test_domainModelSave(): foo = DomainModel() persister = MemoryPersister() foo.addPersister(persister) foo.bar = 1 foo.persist() foo.bar = 2 foo.persist() foo.bar = 3 foo.persist() assert persister.savedStates.pop().bar == 3 assert persister.savedStates.pop().bar == 2 assert persister.savedStates.pop().bar == 1
def test_DomainModel_persist_calls_autopopulate(mocker): m = DomainModel() m.add_persistence_model(DummyPersister()) mocked_autopopulate = mocker.patch.object(m, "autopopulate") m.persist() assert mocked_autopopulate.call_count == 1
def test_DomainModel__persist__calls_persist_additional_models(mocker): m = DomainModel() m.add_persistence_model(DummyPersister()) mocked_func = mocker.patch.object(m, "_persist_additional_models") m.persist() assert mocked_func.call_count == 1
def test_DomainModel_persist_raises_error_if_no_persisters_added(): m = DomainModel() with pytest.raises(NoPersistenceModelAttachedError): m.persist()