forked from grassrootseconomics/visedriver
		
	create a mocked account service
This commit is contained in:
		
							parent
							
								
									09bf266644
								
							
						
					
					
						commit
						6178425355
					
				@ -18,7 +18,8 @@ type AccountServiceInterface interface {
 | 
			
		||||
type AccountService struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
type MockAccountService struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CheckAccountStatus retrieves the status of an account transaction based on the provided tracking ID.
 | 
			
		||||
//
 | 
			
		||||
@ -27,12 +28,10 @@ type AccountService struct {
 | 
			
		||||
//     CreateAccount or a similar function that returns an AccountResponse. The `trackingId` field in the
 | 
			
		||||
//     AccountResponse struct can be used here to check the account status during a transaction.
 | 
			
		||||
//
 | 
			
		||||
//
 | 
			
		||||
// Returns:
 | 
			
		||||
//   - string: The status of the transaction as a string. If there is an error during the request or processing, this will be an empty string.
 | 
			
		||||
//   - error: An error if any occurred during the HTTP request, reading the response, or unmarshalling the JSON data.
 | 
			
		||||
//     If no error occurs, this will be nil.
 | 
			
		||||
//
 | 
			
		||||
func (as *AccountService) CheckAccountStatus(trackingId string) (string, error) {
 | 
			
		||||
	resp, err := http.Get(config.TrackStatusURL + trackingId)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
@ -56,7 +55,6 @@ func (as *AccountService) CheckAccountStatus(trackingId string) (string, error)
 | 
			
		||||
	return status, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// CheckBalance retrieves the balance for a given public key from the custodial balance API endpoint.
 | 
			
		||||
// Parameters:
 | 
			
		||||
//   - publicKey: The public key associated with the account whose balance needs to be checked.
 | 
			
		||||
@ -83,8 +81,7 @@ func (as *AccountService) CheckBalance(publicKey string) (string, error) {
 | 
			
		||||
	return balance, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//CreateAccount creates a new account in the custodial system.
 | 
			
		||||
// CreateAccount creates a new account in the custodial system.
 | 
			
		||||
// Returns:
 | 
			
		||||
//   - *models.AccountResponse: A pointer to an AccountResponse struct containing the details of the created account.
 | 
			
		||||
//     If there is an error during the request or processing, this will be nil.
 | 
			
		||||
@ -110,3 +107,38 @@ func (as *AccountService) CreateAccount() (*models.AccountResponse, error) {
 | 
			
		||||
 | 
			
		||||
	return &accountResp, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (mas *MockAccountService) CreateAccount() (*models.AccountResponse, error) {
 | 
			
		||||
	return &models.AccountResponse{
 | 
			
		||||
		Ok: true,
 | 
			
		||||
		Result: struct {
 | 
			
		||||
			CustodialId json.Number `json:"custodialId"`
 | 
			
		||||
			PublicKey   string      `json:"publicKey"`
 | 
			
		||||
			TrackingId  string      `json:"trackingId"`
 | 
			
		||||
		}{
 | 
			
		||||
			CustodialId: json.Number("182"),
 | 
			
		||||
			PublicKey:   "0x48ADca309b5085852207FAaf2816eD72B52F527C",
 | 
			
		||||
			TrackingId:  "28ebe84d-b925-472c-87ae-bbdfa1fb97be",
 | 
			
		||||
		},
 | 
			
		||||
	}, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (mas *MockAccountService) CheckBalance(publicKey string) (string, error) {
 | 
			
		||||
 | 
			
		||||
	balanceResponse := &models.BalanceResponse{
 | 
			
		||||
		Ok: true,
 | 
			
		||||
		Result: struct {
 | 
			
		||||
			Balance string      `json:"balance"`
 | 
			
		||||
			Nonce   json.Number `json:"nonce"`
 | 
			
		||||
		}{
 | 
			
		||||
			Balance: "0.003 CELO",
 | 
			
		||||
			Nonce:   json.Number("0"),
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return balanceResponse.Result.Balance, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (mas *MockAccountService) CheckAccountStatus(trackingId string) (string, error) {
 | 
			
		||||
	return "SUCCESS", nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user