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}
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()
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'}
def test_contains_success(self, data, repo: Repository, dao: IDao): id_ = dao.insert(**data) assert repo.contains(id_)
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
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"}