mirror of
https://github.com/MengMengCode/VoCat.git
synced 2026-08-16 04:43:43 +08:00
48 lines
1.2 KiB
Go
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)
|
|
}
|
|
}
|