Julien, Because it's production code generated by our ORM for this command: `Patient.find_by(last_name: 'champier')`. Of course this was not intended by the developer that though the last_name was unique.
On Fri, Jul 26, 2019 at 10:10 AM Julien Rouhaud <rjuju...@gmail.com> wrote: > On Fri, Jul 26, 2019 at 9:53 AM Cyril Champier > <cyril.champ...@doctolib.com> wrote: > > > > Adrian: > > > >> Are you really looking for a pseudo-random name? > > > > > > No, the code I pasted was an existing production bug: the last_name > should have been unique, so the selected patient would always be the same. > > This should have been detected in tests, but since the order was "almost > always the same", our test was green 99% of the time, so we discarded it as > flaky. > > If the filter should return at most 1 row, why put a LIMIT in the > first place? Even with a forced random() you won't get a failure > every time, while asserting there's at most 1 row returned is > guaranteed to fail? >