Files
2026-08-09 05:33:21 +08:00

48 lines
1.2 KiB
Go

package store
import (
"context"
"errors"
"testing"
)
func TestPhoneAssociationPersistsByICCID(t *testing.T) {
database, err := Open(context.Background(), ":memory:")
if err != nil {
t.Fatal(err)
}
t.Cleanup(func() { _ = database.Close() })
value := PhoneAssociation{
ICCID: "89441000400311061404",
DeviceID: "ec20",
Number: "+447700900123",
Source: "ims_p_associated_uri",
}
if err := database.UpsertPhoneAssociation(context.Background(), value); err != nil {
t.Fatal(err)
}
got, err := database.PhoneAssociation(context.Background(), value.ICCID)
if err != nil {
t.Fatal(err)
}
if got.Number != value.Number || got.Source != value.Source || got.DeviceID != value.DeviceID {
t.Fatalf("PhoneAssociation() = %#v", got)
}
value.Number = "+447700900456"
if err := database.UpsertPhoneAssociation(context.Background(), value); err != nil {
t.Fatal(err)
}
got, err = database.PhoneAssociation(context.Background(), value.ICCID)
if err != nil {
t.Fatal(err)
}
if got.Number != value.Number {
t.Fatalf("updated number = %q", got.Number)
}
if _, err := database.PhoneAssociation(context.Background(), "missing"); !errors.Is(err, ErrNotFound) {
t.Fatalf("missing error = %v", err)
}
}