Esempio n. 1
0
 def find(self, id_: Id) -> t.Optional[Entity]:
     """Returns object of given id or None."""
     dto = self.dao.get(id_)
     if not dto:
         raise IDao.NotFound(entity=self.entity, id_=id_)
     entity = self.schema.construct(dto)
     return entity
Esempio n. 2
0
 def test_remove_error_wrong_id(self, data, repo: Repository, dao: IDao):
     id_ = dao.insert(**data)
     entity = repo.find(id_)
     repo.remove(entity)
     with pytest.raises(QueryError) as error_info:
         repo.remove(entity)
     assert error_info.value == QueryErrors.NOT_FOUND
     assert error_info.value.params == {'id': id_, 'entity': entity}
Esempio n. 3
0
 def test_remove_success(self, data, repo: Repository, dao: IDao):
     id_ = dao.insert(**data)
     entity = repo.find(id_)
     assert dao.filter_by(id_=id_).exists()
     repo.remove(entity)
     assert not dao.filter_by(id_=id_).exists()
Esempio n. 4
0
 def test_update_success(self, data, repo: Repository, dao: IDao):
     id_ = dao.insert(**data)
     entity = repo.find(id_)
     entity.frame_type = 'road'
     repo.update(entity)
     assert dao.get(id_) == {'frame_type': 'road', 'wheel_type': 'road'}
Esempio n. 5
0
 def test_contains_success(self, data, repo: Repository, dao: IDao):
     id_ = dao.insert(**data)
     assert repo.contains(id_)
Esempio n. 6
0
 def test_find_success(self, data, repo: Repository, dao: IDao):
     id_ = dao.insert(**data)
     entity = repo.find(id_)
     assert isinstance(entity, Bike)
     assert dataclasses.asdict(entity) == data
Esempio n. 7
0
 def test_create_and_add(self, data, repo: Repository, dao: IDao):
     entity = repo.create_and_add(**data)
     assert dao.get(entity.id) == data
Esempio n. 8
0
 def test_add(self, data, repo: Repository, dao: IDao):
     entity = Bike(**data)
     id_ = repo.add(entity)
     assert dao.get(id_) == data
Esempio n. 9
0
 def test_create(self, data, repo: Repository, dao: IDao):
     entity = repo.create(**data)
     assert repo.factory.deconstruct(entity) == data
     assert dao.all().count() == 0
 def test_update_success(self, data, repo: Repository, dao: IDao):
     id_ = dao.insert(**data)
     entity = repo.find(id_)
     entity.frame_type = "road"
     repo.update(entity)
     assert dao.get(id_) == {"frame_type": "road", "wheel_type": "road"}