Assert the Size of the List in Elixir
I Would Like to Assert List's Size. Currently I Do It as Follows: Assert Devices = Repo. All from D in Device, Where D. Uuid == ^Attrs. Uuid Assert Devices...
I would like to assert list's size. Currently I do it as follows:
assert devices = Repo.all from d in device, where d.uuid == ^attrs.uuid
assert devices.first == devices.last
Is there a better way to do that?
1 Answer
will return the size of a list:
length([1,2,3]) #3
You can do this from an Ecto query using:
query = from d in Device, where: d.uuid == ^uuid, select: fragment("count(?)", d.id)
assert Repo.all(query)== 3
In Ecto 2 you can use
query = from d in Device, where: d.uuid == ^uuid)
assert Repo.aggregate(query, :count, :id) == 3