source: flexoentity/tests/test_in_memory_backend.py@ c1144fd

unify_backends
Last change on this file since c1144fd was 3389960, checked in by Enrico Schwass <ennoausberlin@…>, 3 days ago

redesign of Identity and PersistanceBackends - this is a breaking change.

  • Property mode set to 100644
File size: 1.2 KB
Line 
1import pytest
2from flexoentity.in_memory_backend import InMemoryBackend
3from flexoentity.domain import Domain
4
5
6
7
8def test_save_and_load_roundtrip(local_backend, sample_domain):
9 local_backend.save(sample_domain.to_dict())
10
11 loaded_dict = local_backend.load(sample_domain.flexo_id)
12 loaded = Domain.from_dict(loaded_dict)
13
14 assert isinstance(loaded, Domain)
15 assert loaded == sample_domain
16
17def test_update_overwrites_entity(local_backend, sample_domain):
18 local_backend.save(sample_domain.to_dict())
19
20 # change something
21 sample_domain.description = "UPDATED DESC"
22 local_backend.update(sample_domain.to_dict())
23
24 loaded = Domain.from_dict(local_backend.load(sample_domain.flexo_id))
25 assert loaded.description == "UPDATED DESC"
26
27
28def test_delete_removes_entity(local_backend, sample_domain):
29 local_backend.save(sample_domain.to_dict())
30 local_backend.delete(sample_domain.flexo_id)
31
32 assert local_backend.load(sample_domain.flexo_id) is None
33 assert local_backend.load_all() == []
34
35
36def test_clear_removes_all(local_backend, sample_domain):
37 local_backend.save(sample_domain.to_dict())
38 local_backend.clear()
39
40 assert local_backend.load(sample_domain.flexo_id) is None
41 assert local_backend.load_all() == []
Note: See TracBrowser for help on using the repository browser.