package models

import "testing"

func TestParseLookupScopeConfigAcceptsValidMappings(t *testing.T) {
	raw := `{"filterMappings":[{"recordField":"OpportunityId","sourceField":"Pricebook2Id","targetField":"Pricebook2Id"}]}`

	cfg, err := ParseLookupScopeConfig(&raw)
	if err != nil {
		t.Fatalf("ParseLookupScopeConfig() error = %v", err)
	}
	if cfg == nil || len(cfg.FilterMappings) != 1 {
		t.Fatalf("ParseLookupScopeConfig() = %#v, want 1 mapping", cfg)
	}
}

func TestParseLookupScopeConfigRejectsMissingTargetField(t *testing.T) {
	raw := `{"filterMappings":[{"recordField":"OpportunityId","sourceField":"Pricebook2Id"}]}`

	if _, err := ParseLookupScopeConfig(&raw); err == nil {
		t.Fatal("ParseLookupScopeConfig() error = nil, want validation error")
	}
}
