diff --git a/test/membership_fees/changes/validate_same_interval_test.exs b/test/membership_fees/changes/validate_same_interval_test.exs index 46d1da6..0f4501c 100644 --- a/test/membership_fees/changes/validate_same_interval_test.exs +++ b/test/membership_fees/changes/validate_same_interval_test.exs @@ -93,7 +93,7 @@ defmodule Mv.MembershipFees.Changes.ValidateSameIntervalTest do assert changeset.valid? end - test "allows removal of membership fee type" do + test "prevents removal of membership fee type" do yearly_type = create_fee_type(%{interval: :yearly}) member = create_member(%{membership_fee_type_id: yearly_type.id}) @@ -104,7 +104,13 @@ defmodule Mv.MembershipFees.Changes.ValidateSameIntervalTest do }) |> ValidateSameInterval.change(%{}, %{}) - assert changeset.valid? + refute changeset.valid? + assert %{errors: errors} = changeset + + assert Enum.any?(errors, fn error -> + error.field == :membership_fee_type_id and + error.message =~ "Cannot remove membership fee type" + end) end test "does nothing when membership_fee_type_id is not changed" do