legendary-doc-site/apps/core/test/mix/legendary_test.exs
2020-08-13 15:59:49 -05:00

59 lines
1.5 KiB
Elixir

defmodule Mix.LegendaryTest do
use Core.DataCase
alias Mix.Phoenix.{Schema}
import Mix.Legendary
def schema do
%Schema{
attrs: [
reference: {:references, :foobar},
integer: :integer,
float: :float,
decimal: :decimal,
boolean: :boolean,
text: :text,
date: :date,
time: :time,
utc_datetime: :utc_datetime,
naive_datetime: :naive_datetime,
array_of_integers: {:array, :integer},
array_of_strings: {:array, :string},
other: :other,
]
}
end
test "inputs/1" do
[
reference_input,
integer_input,
float_input,
decimal_input,
boolean_input,
text_input,
date_input,
time_input,
utc_datetime_input,
naive_datetime_input,
integer_array_input,
array_input,
other_input,
] = inputs(schema())
assert reference_input == nil
assert integer_input =~ ~s(number_input)
assert float_input =~ ~s(number_input)
assert decimal_input =~ ~s(number_input)
assert boolean_input =~ ~s(checkbox)
assert text_input =~ ~s(textarea)
assert date_input =~ ~s(date_select)
assert time_input =~ ~s(time_select)
assert utc_datetime_input =~ ~s(datetime_select)
assert naive_datetime_input =~ ~s(datetime_select)
assert integer_array_input =~ ~s(multiple_select)
assert array_input =~ ~s(multiple_select)
assert other_input =~ ~s(:other %>)
end
end