package domain import ( "testing" "github.com/stretchr/testify/assert" ) func TestUser_Structure(t *testing.T) { user := User{ Uuid: "123e4567-e89b-12d3-a456-426614174000", PhoneNumber: "+1234567890", } assert.Equal(t, "123e4567-e89b-12d3-a456-426614174000", user.Uuid) assert.Equal(t, "+1234567890", user.PhoneNumber) } 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: ", }, { name: "handles international phone number", phoneNumber: "+44123456789", want: "User not found with phone number: +44123456789", }, } 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 TestErrUserNotFound_IsError(t *testing.T) { err := ErrUserNotFound{PhoneNumber: "+1234567890"} assert.Implements(t, (*error)(nil), err) }