setup test for successful account creation
This commit is contained in:
parent
edcbf9979d
commit
22d076ea50
@ -8,8 +8,11 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"git.defalsify.org/vise.git/resource"
|
"git.defalsify.org/vise.git/resource"
|
||||||
|
"git.grassecon.net/urdt/ussd/internal/handlers/ussd/mocks"
|
||||||
"git.grassecon.net/urdt/ussd/internal/models"
|
"git.grassecon.net/urdt/ussd/internal/models"
|
||||||
"git.grassecon.net/urdt/ussd/internal/utils"
|
"git.grassecon.net/urdt/ussd/internal/utils"
|
||||||
|
"github.com/alecthomas/assert/v2"
|
||||||
|
"github.com/stretchr/testify/mock"
|
||||||
)
|
)
|
||||||
|
|
||||||
// MockAccountCreator implements AccountCreator for testing
|
// MockAccountCreator implements AccountCreator for testing
|
||||||
@ -170,6 +173,51 @@ func TestCreateAccount(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func TestCreateAccount_Success(t *testing.T) {
|
||||||
|
mockAccountFileHandler := new(mocks.MockAccountFileHandler)
|
||||||
|
mockCreateAccountService := new(mocks.MockAccountService)
|
||||||
|
|
||||||
|
mockAccountFileHandler.On("EnsureFileExists").Return(nil)
|
||||||
|
|
||||||
|
// Mock that no account data exists
|
||||||
|
mockAccountFileHandler.On("ReadAccountData").Return(nil, nil)
|
||||||
|
|
||||||
|
// Define expected account response after api call
|
||||||
|
expectedAccountResp := &models.AccountResponse{
|
||||||
|
Ok: true,
|
||||||
|
Result: struct {
|
||||||
|
CustodialId json.Number `json:"custodialId"`
|
||||||
|
PublicKey string `json:"publicKey"`
|
||||||
|
TrackingId string `json:"trackingId"`
|
||||||
|
}{
|
||||||
|
CustodialId: "12",
|
||||||
|
PublicKey: "some-public-key",
|
||||||
|
TrackingId: "some-tracking-id",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
mockCreateAccountService.On("CreateAccount").Return(expectedAccountResp, nil)
|
||||||
|
|
||||||
|
// Mock WriteAccountData to not error
|
||||||
|
mockAccountFileHandler.On("WriteAccountData", mock.Anything).Return(nil)
|
||||||
|
|
||||||
|
handlers := &Handlers{
|
||||||
|
accountService: mockCreateAccountService,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
actualResponse, err := handlers.accountService.CreateAccount()
|
||||||
|
|
||||||
|
// Assert results
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.Equal(t,expectedAccountResp.Ok,true)
|
||||||
|
assert.Equal(t,expectedAccountResp,actualResponse)
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
func TestSavePin(t *testing.T) {
|
func TestSavePin(t *testing.T) {
|
||||||
// Setup
|
// Setup
|
||||||
tempDir, err := os.MkdirTemp("", "test_save_pin")
|
tempDir, err := os.MkdirTemp("", "test_save_pin")
|
||||||
|
Loading…
Reference in New Issue
Block a user