curationexperts / laevigata

A Hyrax-based ETD repository including deposit workflow
Other
5 stars 4 forks source link

[FIX] Flaky presenter test #2404

Closed mark-dce closed 2 months ago

mark-dce commented 2 months ago

ISSUE ActiveTriples does not guarantee that multivalued attributes will be returned in the order they were assigned. So in the context of the current text, we can have two different values returned for the email:

etd.post_graduation_email = ['first.address@example.org', 'other address']
# sometimes
etd.post_graduation_email
=> ['first.address@example.org', 'other address']
# other times...
etd.post_graduation_email
=> ['other address', 'first.address@example.org']

Becsause of the non-deterministic nature of return values, we should only assign a single value array to fields that should be single-valued - i.e. we can't rely on ordering to consistently return the same value, even when calling .first

FIX Update the assinged value to guarantee the return is deterministic. I.E. a single valued array always has the same ordering.

coveralls commented 2 months ago

Coverage Status

coverage: 93.811%. remained the same when pulling ad7686c7af0b441cc178553b3a1f16242255357b on fix_flaky_presenter into 5e065ca3a249fdd7ee7946f596529d9c41b3980f on main.