también - elixir sinonimo
afirmar el tamaño de la lista en elixir (1)
Me gustaría afirmar el tamaño de la lista. Actualmente lo hago de la siguiente manera:
assert devices = Repo.all from d in device, where d.uuid == ^attrs.uuid
assert devices.first == devices.last
¿Hay una mejor manera de hacer eso?
Kernel.length/1 devolverá el tamaño de una lista:
length([1,2,3]) #3
Puedes hacer esto desde una consulta Ecto usando:
query = from d in Device, where: d.uuid == ^uuid, select: fragment("count(?)", d.id)
assert Repo.all(query)== 3
En Ecto 2 puedes usar Repo.aggregate/4
query = from d in Device, where: d.uuid == ^uuid)
assert Repo.aggregate(query, :count, :id) == 3