Release Please / Release Please (push) Skipped
Release / GoReleaser (push) Skipped
Tests / Secret scan (gitleaks) (push) Skipped
Tests / Test (Go 1.25) (push) Skipped
Tests / Test (Go stable) (push) Skipped
Tests / Secret scan (gitleaks) (pull_request) Successful in 4s
Tests / Test (Go stable) (pull_request) Successful in 1m1s
Tests / Test (Go 1.25) (pull_request) Successful in 1m1s
29 lines
871 B
Go
29 lines
871 B
Go
package catalog
|
|
|
|
import "testing"
|
|
|
|
func TestMergeAddressesDedup(t *testing.T) {
|
|
dst := []Address{{Street: "Weg 1", City: "Stadt", Zip: "1"}}
|
|
got := mergeAddresses(dst, []Address{
|
|
{Street: "weg 1", City: "stadt", Zip: "1"}, // duplicate (case-insensitive)
|
|
{Street: "Weg 2", City: "Stadt", Zip: "2"}, // new
|
|
})
|
|
if len(got) != 2 {
|
|
t.Fatalf("got %d addresses, want 2: %+v", len(got), got)
|
|
}
|
|
if got[1].Street != "Weg 2" {
|
|
t.Errorf("second = %+v", got[1])
|
|
}
|
|
}
|
|
|
|
func TestEntryAddressesYAML(t *testing.T) {
|
|
doc := &Document{Entries: []Entry{{
|
|
ID: "person:max maier", Kind: "person", Name: "Max Maier",
|
|
Addresses: []Address{{Street: "Weg 1", City: "Stadt", Zip: "12345", Category: "Billing", Primary: true}},
|
|
}}}
|
|
merged := MergeDocs(doc)
|
|
if len(merged.Entries) != 1 || len(merged.Entries[0].Addresses) != 1 {
|
|
t.Fatalf("merged = %+v", merged.Entries)
|
|
}
|
|
}
|