So I have been learning Elixir, apologies if this is a simple question, i don’t even know what to search for to get what i want.
I have been using Vex to validate all of the validations i’ve set up but want to have tests around making sure the rules are all being met.
So far i’ve written a lot of code that is repetitive like the below. I’m curious if it’s possible to make these generic and then just pass in the struct and key?
test "should fail when name is nil", s do
# Arrange
subject = %{s[:subject] | name: nil}
# Act
is_valid = Vex.valid?(subject)
errors = Vex.errors(subject)
# Assert
refute is_valid
assert Enum.member?(errors, {:error, :name, :presence, "is required"})
end
test "should fail when value is nil", s do
# Arrange
subject = %{s[:subject] | value: nil}
# Act
is_valid = Vex.valid?(subject)
errors = Vex.errors(subject)
# Assert
refute is_valid
assert Enum.member?(errors, {:error, :value, :presence, "is required"})
end