This is part of the Semicolon&Sons Code Diary - consisting of lessons learned on the job. You're in the workflows category.
Last Updated: 2024-11-21
I had the following test
<?php
public function testWhenSomeLocationsHaveSlotsAndSomeDont() {
$user = factory(User::class)->create();
// We create one in Hamburg but not in Berlin, the city where the search
// query will target. The reason we add an extra city is to test for accidental false positives.
$stationLocation = factory(StationLocation::class)
->states("hamburg", "with_slots_next_hour")
->create();
$endpointForBerlinQuery = "/api/v1/slots/covid19-test/germany/10967?maxDistanceKm=50";
$response =
$this->withApiToken($user)
->getJson($endpointForBerlinQuery);
$response
->assertStatus(200)
->assertExactJson([]);
The comment under $user
made sense in this initial testing context.
Later I wanted to re-use the setup lines of this test so I copied and pasted the lot. I included the comment without thinking about it. But it turns out, the comment was confusing and unnecessary in this new context:
<?php
public function testNonGeocodableAddress()
{
$user = factory(User::class)->create();
// We create one in Hamburg but not in Berlin, the city where the search
// query will target. The reason we add an extra city is to test for accidental false positives.
$stationLocation = factory(StationLocation::class)
->states("berlin-charite")->create();
$slot = factory(Slot::class)->create([
"start_time" => now()->subtract("1 month"),
"station_location_id" => $stationLocation
]);
$bogusPostcode = "a7asd98uASD";
$endpointForBerlinQuery = "/api/v1/slots/covid19-test/germany/" . $bogusPostcode . "?maxDistanceKm=50";
$response =
$this->withApiToken($user)
->getJson($endpointForBerlinQuery);
$response
->assertStatus(200)
->assertExactJson([]);
}
}
When copying and pasting code, you probably want to remove the comments, or at least review them.