Files
IDP-Backend/internal/api/auth/domain/auth_domain_test.go

147 lines
3.3 KiB
Go

package domain
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestErrOtpNotFound_Error(t *testing.T) {
tests := []struct {
name string
uuid string
want string
}{
{
name: "returns formatted error message",
uuid: "123e4567-e89b-12d3-a456-426614174000",
want: "OTP request not found for UUID: 123e4567-e89b-12d3-a456-426614174000",
},
{
name: "handles empty uuid",
uuid: "",
want: "OTP request not found for UUID: ",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
err := ErrOtpNotFound{Uuid: tt.uuid}
assert.Equal(t, tt.want, err.Error())
})
}
}
func TestErrUserNotFound_Error(t *testing.T) {
tests := []struct {
name string
phoneNumber string
want string
}{
{
name: "returns formatted error message",
phoneNumber: "+1234567890",
want: "User not found with phone number: +1234567890",
},
{
name: "handles empty phone number",
phoneNumber: "",
want: "User not found with phone number: ",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
err := ErrUserNotFound{PhoneNumber: tt.phoneNumber}
assert.Equal(t, tt.want, err.Error())
})
}
}
func TestErrOtpInvalid_Error(t *testing.T) {
tests := []struct {
name string
code string
uuid string
want string
}{
{
name: "returns formatted error message",
code: "123456",
uuid: "123e4567-e89b-12d3-a456-426614174000",
want: "Invalid OTP code: 123456 for UUID: 123e4567-e89b-12d3-a456-426614174000",
},
{
name: "handles empty values",
code: "",
uuid: "",
want: "Invalid OTP code: for UUID: ",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
err := ErrOtpInvalid{Code: tt.code, Uuid: tt.uuid}
assert.Equal(t, tt.want, err.Error())
})
}
}
func TestErrInvalidHydraAccept_Error(t *testing.T) {
tests := []struct {
name string
message string
uuid string
want string
}{
{
name: "returns formatted error message",
message: "Invalid response",
uuid: "123e4567-e89b-12d3-a456-426614174000",
want: "Invalid Hydra accept request: Invalid response for UUID: 123e4567-e89b-12d3-a456-426614174000",
},
{
name: "handles empty values",
message: "",
uuid: "",
want: "Invalid Hydra accept request: for UUID: ",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
err := ErrInvalidHydraAccept{Message: tt.message, Uuid: tt.uuid}
assert.Equal(t, tt.want, err.Error())
})
}
}
func TestErrInvalidPhoneNumber_Error(t *testing.T) {
tests := []struct {
name string
phoneNumber string
err error
want string
}{
{
name: "returns formatted error message with nested error",
phoneNumber: "invalid",
err: assert.AnError,
want: "Invalid phone number: invalid, error: assert.AnError general error for testing",
},
{
name: "handles empty phone number",
phoneNumber: "",
err: assert.AnError,
want: "Invalid phone number: , error: assert.AnError general error for testing",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
err := ErrInvalidPhoneNumber{PhoneNumber: tt.phoneNumber, Err: tt.err}
assert.Equal(t, tt.want, err.Error())
})
}
}