Expose methods required for the stream sync service #147
| @ -88,18 +88,14 @@ func TestCreateAccount(t *testing.T) { | |||||||
| 
 | 
 | ||||||
| 	tests := []struct { | 	tests := []struct { | ||||||
| 		name           string | 		name           string | ||||||
| 		serverResponse *api.OKResponse | 		serverResponse *models.AccountResult | ||||||
| 		expectedResult resource.Result | 		expectedResult resource.Result | ||||||
| 	}{ | 	}{ | ||||||
| 		{ | 		{ | ||||||
| 			name: "Test account creation success", | 			name: "Test account creation success", | ||||||
| 			serverResponse: &api.OKResponse{ | 			serverResponse: &models.AccountResult{ | ||||||
| 				Ok:          true, | 				TrackingId: "1234567890", | ||||||
| 				Description: "Account creation successed", | 				PublicKey: "0xD3adB33f", | ||||||
| 				Result: map[string]any{ |  | ||||||
| 					"trackingId": "1234567890", |  | ||||||
| 					"publicKey":  "0xD3adB33f", |  | ||||||
| 				}, |  | ||||||
| 			}, | 			}, | ||||||
| 			expectedResult: resource.Result{ | 			expectedResult: resource.Result{ | ||||||
| 				FlagSet: []uint32{flag_account_created}, | 				FlagSet: []uint32{flag_account_created}, | ||||||
| @ -119,9 +115,9 @@ func TestCreateAccount(t *testing.T) { | |||||||
| 				flagManager:    fm.parser, | 				flagManager:    fm.parser, | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			publicKey := tt.serverResponse.Result["publicKey"].(string) | 			publicKey := tt.serverResponse.PublicKey | ||||||
| 			data := map[common.DataTyp]string{ | 			data := map[common.DataTyp]string{ | ||||||
| 				common.DATA_TRACKING_ID: tt.serverResponse.Result["trackingId"].(string), | 				common.DATA_TRACKING_ID: tt.serverResponse.TrackingId, | ||||||
| 				common.DATA_PUBLIC_KEY:  publicKey, | 				common.DATA_PUBLIC_KEY:  publicKey, | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| @ -1055,7 +1051,7 @@ func TestCheckAccountStatus(t *testing.T) { | |||||||
| 		name           string | 		name           string | ||||||
| 		input          []byte | 		input          []byte | ||||||
| 		serverResponse *api.OKResponse | 		serverResponse *api.OKResponse | ||||||
| 		response       *models.TrackStatusResponse | 		response       *models.TrackStatusResult | ||||||
| 		expectedResult resource.Result | 		expectedResult resource.Result | ||||||
| 	}{ | 	}{ | ||||||
| 		{ | 		{ | ||||||
| @ -1068,25 +1064,12 @@ func TestCheckAccountStatus(t *testing.T) { | |||||||
| 					"active": true, | 					"active": true, | ||||||
| 				}, | 				}, | ||||||
| 			}, | 			}, | ||||||
| 			response: &models.TrackStatusResponse{ | 			response: &models.TrackStatusResult { | ||||||
| 				Ok: true, | 				CreatedAt:     time.Now(), | ||||||
| 				Result: struct { | 				Status:        "SUCCESS", | ||||||
| 					Transaction struct { | 				TransferValue: json.Number("0.5"), | ||||||
| 						CreatedAt     time.Time   "json:\"createdAt\"" | 				TxHash:        "0x123abc456def", | ||||||
| 						Status        string      "json:\"status\"" | 				TxType:        "transfer", | ||||||
| 						TransferValue json.Number "json:\"transferValue\"" |  | ||||||
| 						TxHash        string      "json:\"txHash\"" |  | ||||||
| 						TxType        string      "json:\"txType\"" |  | ||||||
| 					} |  | ||||||
| 				}{ |  | ||||||
| 					Transaction: models.Transaction{ |  | ||||||
| 						CreatedAt:     time.Now(), |  | ||||||
| 						Status:        "SUCCESS", |  | ||||||
| 						TransferValue: json.Number("0.5"), |  | ||||||
| 						TxHash:        "0x123abc456def", |  | ||||||
| 						TxType:        "transfer", |  | ||||||
| 					}, |  | ||||||
| 				}, |  | ||||||
| 			}, | 			}, | ||||||
| 			expectedResult: resource.Result{ | 			expectedResult: resource.Result{ | ||||||
| 				FlagSet:   []uint32{flag_account_success}, | 				FlagSet:   []uint32{flag_account_success}, | ||||||
| @ -1096,25 +1079,12 @@ func TestCheckAccountStatus(t *testing.T) { | |||||||
| 		{ | 		{ | ||||||
| 			name:  "Test when the account is not  yet on the sarafu network", | 			name:  "Test when the account is not  yet on the sarafu network", | ||||||
| 			input: []byte("TrackingId1234"), | 			input: []byte("TrackingId1234"), | ||||||
| 			response: &models.TrackStatusResponse{ | 			response: &models.TrackStatusResult{ | ||||||
| 				Ok: true, | 				CreatedAt:     time.Now(), | ||||||
| 				Result: struct { | 				Status:        "SUCCESS", | ||||||
| 					Transaction struct { | 				TransferValue: json.Number("0.5"), | ||||||
| 						CreatedAt     time.Time   "json:\"createdAt\"" | 				TxHash:        "0x123abc456def", | ||||||
| 						Status        string      "json:\"status\"" | 				TxType:        "transfer", | ||||||
| 						TransferValue json.Number "json:\"transferValue\"" |  | ||||||
| 						TxHash        string      "json:\"txHash\"" |  | ||||||
| 						TxType        string      "json:\"txType\"" |  | ||||||
| 					} |  | ||||||
| 				}{ |  | ||||||
| 					Transaction: models.Transaction{ |  | ||||||
| 						CreatedAt:     time.Now(), |  | ||||||
| 						Status:        "SUCCESS", |  | ||||||
| 						TransferValue: json.Number("0.5"), |  | ||||||
| 						TxHash:        "0x123abc456def", |  | ||||||
| 						TxType:        "transfer", |  | ||||||
| 					}, |  | ||||||
| 				}, |  | ||||||
| 			}, | 			}, | ||||||
| 			serverResponse: &api.OKResponse{ | 			serverResponse: &api.OKResponse{ | ||||||
| 				Ok:          true, | 				Ok:          true, | ||||||
| @ -1140,7 +1110,7 @@ func TestCheckAccountStatus(t *testing.T) { | |||||||
| 				flagManager:    fm.parser, | 				flagManager:    fm.parser, | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			status := tt.response.Result.Transaction.Status | 			status := tt.response.Status | ||||||
| 			// Define expected interactions with the mock
 | 			// Define expected interactions with the mock
 | ||||||
| 			mockDataStore.On("ReadEntry", ctx, sessionId, common.DATA_PUBLIC_KEY).Return(tt.input, nil) | 			mockDataStore.On("ReadEntry", ctx, sessionId, common.DATA_PUBLIC_KEY).Return(tt.input, nil) | ||||||
| 
 | 
 | ||||||
| @ -1833,36 +1803,14 @@ func TestFetchCustodialBalances(t *testing.T) { | |||||||
| 
 | 
 | ||||||
| 	tests := []struct { | 	tests := []struct { | ||||||
| 		name           string | 		name           string | ||||||
| 		balanceResonse *models.BalanceResponse | 		balanceResponse *models.BalanceResult | ||||||
| 		expectedResult resource.Result | 		expectedResult resource.Result | ||||||
| 	}{ | 	}{ | ||||||
| 		{ | 		{ | ||||||
| 			name: "Test when fetch custodial balances is not a success", | 			name: "Test when fetch custodial balances is not a success", | ||||||
| 			balanceResonse: &models.BalanceResponse{ | 			balanceResponse: &models.BalanceResult{ | ||||||
| 				Ok: false, | 				Balance: "0.003 CELO", | ||||||
| 				Result: struct { | 				Nonce:   json.Number("0"), | ||||||
| 					Balance string      `json:"balance"` |  | ||||||
| 					Nonce   json.Number `json:"nonce"` |  | ||||||
| 				}{ |  | ||||||
| 					Balance: "0.003 CELO", |  | ||||||
| 					Nonce:   json.Number("0"), |  | ||||||
| 				}, |  | ||||||
| 			}, |  | ||||||
| 			expectedResult: resource.Result{ |  | ||||||
| 				FlagSet: []uint32{flag_api_error}, |  | ||||||
| 			}, |  | ||||||
| 		}, |  | ||||||
| 		{ |  | ||||||
| 			name: "Test when fetch custodial balances is a success", |  | ||||||
| 			balanceResonse: &models.BalanceResponse{ |  | ||||||
| 				Ok: true, |  | ||||||
| 				Result: struct { |  | ||||||
| 					Balance string      `json:"balance"` |  | ||||||
| 					Nonce   json.Number `json:"nonce"` |  | ||||||
| 				}{ |  | ||||||
| 					Balance: "0.003 CELO", |  | ||||||
| 					Nonce:   json.Number("0"), |  | ||||||
| 				}, |  | ||||||
| 			}, | 			}, | ||||||
| 			expectedResult: resource.Result{ | 			expectedResult: resource.Result{ | ||||||
| 				FlagReset: []uint32{flag_api_error}, | 				FlagReset: []uint32{flag_api_error}, | ||||||
| @ -1886,7 +1834,7 @@ func TestFetchCustodialBalances(t *testing.T) { | |||||||
| 
 | 
 | ||||||
| 			// Set up the expected behavior of the mock
 | 			// Set up the expected behavior of the mock
 | ||||||
| 			mockDataStore.On("ReadEntry", ctx, sessionId, common.DATA_PUBLIC_KEY).Return([]byte(publicKey), nil) | 			mockDataStore.On("ReadEntry", ctx, sessionId, common.DATA_PUBLIC_KEY).Return([]byte(publicKey), nil) | ||||||
| 			mockCreateAccountService.On("CheckBalance", string(publicKey)).Return(tt.balanceResonse, nil) | 			mockCreateAccountService.On("CheckBalance", string(publicKey)).Return(tt.balanceResponse, nil) | ||||||
| 
 | 
 | ||||||
| 			// Call the method
 | 			// Call the method
 | ||||||
| 			res, _ := h.FetchCustodialBalances(ctx, "fetch_custodial_balances", []byte("")) | 			res, _ := h.FetchCustodialBalances(ctx, "fetch_custodial_balances", []byte("")) | ||||||
| @ -1918,35 +1866,24 @@ func TestSetDefaultVoucher(t *testing.T) { | |||||||
| 
 | 
 | ||||||
| 	tests := []struct { | 	tests := []struct { | ||||||
| 		name           string | 		name           string | ||||||
| 		vouchersResp   *models.VoucherHoldingResponse | 		vouchersResp   []dataserviceapi.TokenHoldings | ||||||
| 		expectedResult resource.Result | 		expectedResult resource.Result | ||||||
| 	}{ | 	}{ | ||||||
| 		{ | 		{ | ||||||
| 			name: "Test set default voucher when no active voucher exists", | 			name: "Test set default voucher when no active voucher exists", | ||||||
| 			vouchersResp: &models.VoucherHoldingResponse{ | 			vouchersResp: []dataserviceapi.TokenHoldings { | ||||||
| 				Ok:          true, | 				dataserviceapi.TokenHoldings{ | ||||||
| 				Description: "Vouchers fetched successfully", | 					ContractAddress: "0x123", | ||||||
| 				Result: models.VoucherResult{ | 					TokenSymbol:     "TOKEN1", | ||||||
| 					Holdings: []dataserviceapi.TokenHoldings{ | 					TokenDecimals:   "18", | ||||||
| 						{ | 					Balance:         "100", | ||||||
| 							ContractAddress: "0x123", |  | ||||||
| 							TokenSymbol:     "TOKEN1", |  | ||||||
| 							TokenDecimals:   "18", |  | ||||||
| 							Balance:         "100", |  | ||||||
| 						}, |  | ||||||
| 					}, |  | ||||||
| 				}, | 				}, | ||||||
| 			}, | 			}, | ||||||
| 			expectedResult: resource.Result{}, | 			expectedResult: resource.Result{}, | ||||||
| 		}, | 		}, | ||||||
| 		{ | 		{ | ||||||
| 			name: "Test no vouchers available", | 			name: "Test no vouchers available", | ||||||
| 			vouchersResp: &models.VoucherHoldingResponse{ | 			vouchersResp: []dataserviceapi.TokenHoldings { | ||||||
| 				Ok:          true, |  | ||||||
| 				Description: "No vouchers available", |  | ||||||
| 				Result: models.VoucherResult{ |  | ||||||
| 					Holdings: []dataserviceapi.TokenHoldings{}, |  | ||||||
| 				}, |  | ||||||
| 			}, | 			}, | ||||||
| 			expectedResult: resource.Result{ | 			expectedResult: resource.Result{ | ||||||
| 				FlagSet: []uint32{flag_no_active_voucher}, | 				FlagSet: []uint32{flag_no_active_voucher}, | ||||||
| @ -1970,8 +1907,8 @@ func TestSetDefaultVoucher(t *testing.T) { | |||||||
| 
 | 
 | ||||||
| 			mockAccountService.On("FetchVouchers", string(publicKey)).Return(tt.vouchersResp, nil) | 			mockAccountService.On("FetchVouchers", string(publicKey)).Return(tt.vouchersResp, nil) | ||||||
| 
 | 
 | ||||||
| 			if len(tt.vouchersResp.Result.Holdings) > 0 { | 			if len(tt.vouchersResp) > 0 { | ||||||
| 				firstVoucher := tt.vouchersResp.Result.Holdings[0] | 				firstVoucher := tt.vouchersResp[0] | ||||||
| 				mockDataStore.On("WriteEntry", ctx, sessionId, common.DATA_ACTIVE_SYM, []byte(firstVoucher.TokenSymbol)).Return(nil) | 				mockDataStore.On("WriteEntry", ctx, sessionId, common.DATA_ACTIVE_SYM, []byte(firstVoucher.TokenSymbol)).Return(nil) | ||||||
| 				mockDataStore.On("WriteEntry", ctx, sessionId, common.DATA_ACTIVE_BAL, []byte(firstVoucher.Balance)).Return(nil) | 				mockDataStore.On("WriteEntry", ctx, sessionId, common.DATA_ACTIVE_BAL, []byte(firstVoucher.Balance)).Return(nil) | ||||||
| 			} | 			} | ||||||
| @ -2006,8 +1943,7 @@ func TestCheckVouchers(t *testing.T) { | |||||||
| 
 | 
 | ||||||
| 	mockDataStore.On("ReadEntry", ctx, sessionId, common.DATA_PUBLIC_KEY).Return([]byte(publicKey), nil) | 	mockDataStore.On("ReadEntry", ctx, sessionId, common.DATA_PUBLIC_KEY).Return([]byte(publicKey), nil) | ||||||
| 
 | 
 | ||||||
| 	mockVouchersResponse := &models.VoucherHoldingResponse{} | 	mockVouchersResponse := []dataserviceapi.TokenHoldings{ | ||||||
| 	mockVouchersResponse.Result.Holdings = []dataserviceapi.TokenHoldings{ |  | ||||||
| 		{ContractAddress: "0xd4c288865Ce", TokenSymbol: "SRF", TokenDecimals: "6", Balance: "100"}, | 		{ContractAddress: "0xd4c288865Ce", TokenSymbol: "SRF", TokenDecimals: "6", Balance: "100"}, | ||||||
| 		{ContractAddress: "0x41c188d63Qa", TokenSymbol: "MILO", TokenDecimals: "4", Balance: "200"}, | 		{ContractAddress: "0x41c188d63Qa", TokenSymbol: "MILO", TokenDecimals: "4", Balance: "200"}, | ||||||
| 	} | 	} | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user