Mock query object for testing.
| 161 | |
| 162 | |
| 163 | class MockQuery: |
| 164 | """Mock query object for testing.""" |
| 165 | def __init__(self, model_class, instances): |
| 166 | self._model_class = model_class |
| 167 | self._instances = instances |
| 168 | self._filters = [] |
| 169 | self._order_by = None |
| 170 | |
| 171 | def filter(self, *args): |
| 172 | self._filters.append(args) |
| 173 | return self |
| 174 | |
| 175 | def filter_by(self, **kwargs): |
| 176 | self._filters.append(kwargs) |
| 177 | return self |
| 178 | |
| 179 | def order_by(self, *args): |
| 180 | self._order_by = args |
| 181 | return self |
| 182 | |
| 183 | def first(self): |
| 184 | # Simple implementation - return first matching instance |
| 185 | if not self._instances: |
| 186 | return None |
| 187 | return self._instances[0] if self._instances else None |
| 188 | |
| 189 | def all(self): |
| 190 | return list(self._instances) |
| 191 | |
| 192 | |
| 193 | class MockSession: |