package metadata

import (
	"testing"

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

func TestInteractiveFieldIncarnationIsFreshAndIgnoresCallerIdentity(t *testing.T) {
	first := &models.FieldMetadata{ID: "caller-controlled", APIName: "Replaceable__c"}
	second := &models.FieldMetadata{ID: "caller-controlled", APIName: "Replaceable__c"}
	mintInteractiveFieldIncarnation(first)
	mintInteractiveFieldIncarnation(second)
	if first.ID == "" || second.ID == "" || first.ID == second.ID {
		t.Fatalf("field incarnation IDs = %q / %q, want distinct non-empty identities", first.ID, second.ID)
	}
	if first.ID == "caller-controlled" || second.ID == "caller-controlled" {
		t.Fatalf("interactive field owner trusted caller identity: %q / %q", first.ID, second.ID)
	}
}
