package constants

import "testing"

func TestNormalizeFieldType_MultiPicklistAliases(t *testing.T) {
	for _, input := range []string{"multipicklist", "MultiselectPicklist", " multiselectpicklist "} {
		if got := NormalizeFieldType(input); got != FieldTypeMultiPicklist {
			t.Fatalf("NormalizeFieldType(%q) = %q, want %q", input, got, FieldTypeMultiPicklist)
		}
	}
}

func TestNormalizeDeleteRule_CanonicalizesAuthoredAndPhysicalForms(t *testing.T) {
	cases := []struct {
		input string
		want  DeleteRule
	}{
		{input: "Cascade", want: DeleteRuleCascade},
		{input: "CASCADE", want: DeleteRuleCascade},
		{input: "SetNull", want: DeleteRuleSetNull},
		{input: "SET NULL", want: DeleteRuleSetNull},
		{input: "Restrict", want: DeleteRuleRestrict},
		{input: "NO ACTION", want: DeleteRuleRestrict},
		{input: "unsupported", want: ""},
	}

	for _, tc := range cases {
		if got := NormalizeDeleteRule(DeleteRule(tc.input)); got != tc.want {
			t.Fatalf("NormalizeDeleteRule(%q) = %q, want %q", tc.input, got, tc.want)
		}
	}
}
