22 lines
566 B
Go
22 lines
566 B
Go
package payment
|
|
|
|
import (
|
|
"errors"
|
|
"testing"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
func TestRequireSingleBusinessUpdate(t *testing.T) {
|
|
if err := requireSingleBusinessUpdate(&gorm.DB{RowsAffected: 1}); err != nil {
|
|
t.Fatalf("single state update rejected: %v", err)
|
|
}
|
|
if err := requireSingleBusinessUpdate(&gorm.DB{}); err == nil {
|
|
t.Fatal("zero-row state update must be rejected")
|
|
}
|
|
expected := errors.New("database unavailable")
|
|
if err := requireSingleBusinessUpdate(&gorm.DB{Error: expected}); !errors.Is(err, expected) {
|
|
t.Fatalf("database error lost: %v", err)
|
|
}
|
|
}
|