34 lines
854 B
Go
34 lines
854 B
Go
|
|
package tests
|
||
|
|
|
||
|
|
import (
|
||
|
|
"testing"
|
||
|
|
|
||
|
|
"repository.promas.id/prana/omnix-sopiga/domain"
|
||
|
|
"repository.promas.id/prana/omnix-sopiga/validator"
|
||
|
|
)
|
||
|
|
|
||
|
|
func TestValidateBroadcastPayload_MissingPhone(t *testing.T) {
|
||
|
|
b := &domain.Broadcast{
|
||
|
|
MessagePayload: map[string]any{
|
||
|
|
"invoice_pdf_url": "https://storage.gadai.com/invoices/inv-001.pdf",
|
||
|
|
},
|
||
|
|
}
|
||
|
|
|
||
|
|
if err := validator.ValidateBroadcastPayload(b); err != validator.ErrMissingRecipientPhone {
|
||
|
|
t.Fatalf("expected ErrMissingRecipientPhone, got %v", err)
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestValidateBroadcastPayload_Valid(t *testing.T) {
|
||
|
|
b := &domain.Broadcast{
|
||
|
|
MessagePayload: map[string]any{
|
||
|
|
"nasabah_phone": "6281234567890",
|
||
|
|
"invoice_pdf_url": "https://storage.gadai.com/invoices/inv-001.pdf",
|
||
|
|
},
|
||
|
|
}
|
||
|
|
|
||
|
|
if err := validator.ValidateBroadcastPayload(b); err != nil {
|
||
|
|
t.Fatalf("expected no error, got %v", err)
|
||
|
|
}
|
||
|
|
}
|