Packages
espec
0.8.14
1.10.0
1.9.2
1.9.1
1.9.0
1.8.3
1.8.2
1.8.1
1.8.0
1.7.0
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.1
1.5.0
1.4.6
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0
1.2.2
1.2.1
1.2.0
1.1.2
1.1.1
1.1.0
1.0.1
1.0.0
0.8.28
0.8.27
0.8.26
0.8.25
0.8.24
0.8.23
0.8.22
0.8.21
0.8.20
0.8.19
0.8.18
0.8.17
0.8.16
0.8.15
0.8.14
0.8.13
0.8.12
0.8.11
0.8.10
0.8.9
0.8.8
0.8.7
0.8.6
0.8.5
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.1
0.5.0
0.4.2
0.4.1
0.4.0
0.3.7
0.3.5
0.3.0
0.2.0
0.1.0
BDD testing framework for Elixir inspired by RSpec.
Current section
Files
Jump to
Current section
Files
lib/espec/allow_to.ex
defmodule ESpec.AllowTo do
@moduledoc """
Defines `to/2` function which makes the mock.
"""
alias ESpec.Mock
@doc "Makes specific mock with ESpec.Mock.expect/3."
def to(mock, {__MODULE__, module}) do
case mock do
{:accept, name, function} when is_atom(name) -> Mock.expect(module, name, function, [])
{:accept, name, function, meck_options} when is_atom(name) and is_list(meck_options) ->
Mock.expect(module, name, function, meck_options)
{:accept, list} when is_list(list) -> mock_list(module, list)
{:accept, list, meck_options} when is_list(list) and is_list(meck_options) -> mock_list(module, list, meck_options)
{:accept, name} when is_atom(name) ->
Mock.expect(module, name, fn -> nil end, [])
Mock.expect(module, name, fn(_) -> nil end, [])
end
end
defp mock_list(module, list, meck_options \\ []) do
if Keyword.keyword?(list) do
Enum.each(list, fn({name, function}) ->
Mock.expect(module, name, function, meck_options)
end)
else
Enum.each(list, &Mock.expect(module, &1, fn -> nil end, meck_options))
Enum.each(list, &Mock.expect(module, &1, fn(_) -> nil end, meck_options))
end
end
end