package persistence

import (
	"strings"
	"testing"

	"github.com/nexuscrm/shared/pkg/constants"
)

func TestBatchFieldMetadataUpdatableFields_ContainsPicklistDependency(t *testing.T) {
	fields := batchFieldMetadataUpdatableFields()
	if !containsStringPicklistReapply(fields, constants.FieldSysField_PicklistDependency) {
		t.Fatalf("batchFieldMetadataUpdatableFields() missing %s", constants.FieldSysField_PicklistDependency)
	}
}

func TestBatchFieldMetadataGuardedFields_ContainsPicklistDependency(t *testing.T) {
	fields := batchFieldMetadataGuardedFields()
	if !containsStringPicklistReapply(fields, constants.FieldSysField_PicklistDependency) {
		t.Fatalf("batchFieldMetadataGuardedFields() missing %s", constants.FieldSysField_PicklistDependency)
	}
}

func containsStringPicklistReapply(items []string, target string) bool {
	for _, item := range items {
		if strings.EqualFold(item, target) {
			return true
		}
	}
	return false
}

func stringPtrPicklistReapply(v string) *string { return &v }
