expected v0.1.1 Expected.Store.Test View Source
A module for testing Expected.Store
implementations.
In order to test a new Expected.Store
, create a test module and use
Expected.Store.Test
by specifying the store to test:
defmodule MyExpected.StoreTest do
use ExUnit.Case
use Expected.Store.Test, store: MyExpected.Store
# Must be defined for Expected.Store.Test to work.
defp init_store(_) do
# Insert @login1 defined in Expected.Store.Test in your store.
# ...
# Return a map containing your options as `opts`.
%{opts: init(table: :expected)}
end
# Test your init function
describe "init/1" do
test "returns the table name" do
assert init(table: :expected) == :expected
end
end
end
With this minimal code, the behaviours of the implementations for
Expected.Store.list_user_logins/2
, Expected.Store.get/3
,
Expected.Store.put/2
, Expected.Store.delete/3
and
Expected.Store.clean_old_logins/2
are automatically tested.