59 lines
1.5 KiB
Elixir
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
|