@@ -188,12 +188,13 @@ def test_create_code_reference__file_path_too_long__returns_400(
188188 assert not ScannedCodeReferences .objects .exists ()
189189
190190
191- def test_create_code_reference__duplicate_payload__deduplicates_storage (
191+ @freezegun .freeze_time ("2099-06-01T12:00:00+00:00" )
192+ def test_create_code_reference__duplicate_payload__deduplicates_storage_and_references_remain_retrievable (
192193 admin_client_new : APIClient ,
193194 project : Project ,
194195) -> None :
195196 # Given
196- Feature .objects .create (project = project , name = "feature-1" )
197+ feature = Feature .objects .create (project = project , name = "feature-1" )
197198 payload = {
198199 "repository_url" : "https://github.flagsmith.com/" ,
199200 "revision" : "rev-1" ,
@@ -205,17 +206,38 @@ def test_create_code_reference__duplicate_payload__deduplicates_storage(
205206 },
206207 ],
207208 }
208-
209- # When
210209 admin_client_new .post (
211210 f"/api/v1/projects/{ project .pk } /code-references/" , data = payload , format = "json"
212211 )
212+
213+ # When
213214 admin_client_new .post (
214215 f"/api/v1/projects/{ project .pk } /code-references/" , data = payload , format = "json"
215216 )
216217
217218 # Then
218219 assert ScannedCodeReferences .objects .count () == 1
220+ response = admin_client_new .get (
221+ f"/api/v1/projects/{ project .pk } /features/{ feature .pk } /code-references/" ,
222+ )
223+ assert response .status_code == 200
224+ assert response .json () == [
225+ {
226+ "repository_url" : "https://github.flagsmith.com/" ,
227+ "vcs_provider" : "github" ,
228+ "revision" : "rev-1" ,
229+ "last_successful_repository_scanned_at" : "2099-06-01T12:00:00+00:00" ,
230+ "last_feature_found_at" : "2099-06-01T12:00:00+00:00" ,
231+ "code_references" : [
232+ {
233+ "feature_name" : "feature-1" ,
234+ "file_path" : "path/to/file.py" ,
235+ "line_number" : 1 ,
236+ "permalink" : "https://github.flagsmith.com/blob/rev-1/path/to/file.py#L1" ,
237+ },
238+ ],
239+ },
240+ ]
219241
220242
221243def test_get_feature_code_references__multiple_scans_exist__returns_latest_per_repository (
0 commit comments