package notify import ( "context" "errors" "testing" ) func TestFakeSenderCapturesRequestAndReturnsResult(t *testing.T) { fake := &FakeSender{} req := SendRequest{Subject: "done", Body: "body"} res, err := fake.Send(context.Background(), req) if err != nil { t.Fatalf("Send() error = %v", err) } if len(fake.Requests) != 1 || fake.Requests[0].Subject != "done" { t.Fatalf("requests = %#v, want captured request", fake.Requests) } if res.ProviderMessageID == "" { t.Fatal("provider message id should be set") } } func TestFakeSenderError(t *testing.T) { fake := &FakeSender{Err: errors.New("boom")} _, err := fake.Send(context.Background(), SendRequest{}) if err == nil { t.Fatal("expected error, got nil") } }