setup test for successful account creation
This commit is contained in:
		
							parent
							
								
									edcbf9979d
								
							
						
					
					
						commit
						22d076ea50
					
				@ -8,8 +8,11 @@ import (
 | 
			
		||||
	"testing"
 | 
			
		||||
 | 
			
		||||
	"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/utils"
 | 
			
		||||
	"github.com/alecthomas/assert/v2"
 | 
			
		||||
	"github.com/stretchr/testify/mock"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// 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) {
 | 
			
		||||
	// Setup
 | 
			
		||||
	tempDir, err := os.MkdirTemp("", "test_save_pin")
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user