menu-voucherlist #101

Merged
lash merged 63 commits from menu-voucherlist into master 2024-10-25 15:59:47 +02:00
Showing only changes of commit a92c640cb7 - Show all commits

View File

@ -494,26 +494,30 @@ func TestGetSender(t *testing.T) {
} }
func TestGetAmount(t *testing.T) { func TestGetAmount(t *testing.T) {
mockStore := new(mocks.MockUserDataStore) mockDataStore := new(mocks.MockUserDataStore)
// Define test data // Define test data
sessionId := "session123" sessionId := "session123"
ctx := context.WithValue(context.Background(), "SessionId", sessionId) ctx := context.WithValue(context.Background(), "SessionId", sessionId)
Amount := "0.03CELO" amount := "0.03"
activeSym := "SRF"
// Set up the expected behavior of the mock // Set up the expected behavior of the mock
mockStore.On("ReadEntry", ctx, sessionId, utils.DATA_AMOUNT).Return([]byte(Amount), nil) mockDataStore.On("ReadEntry", ctx, sessionId, utils.DATA_ACTIVE_SYM).Return([]byte(activeSym), nil)
mockDataStore.On("ReadEntry", ctx, sessionId, utils.DATA_AMOUNT).Return([]byte(amount), nil)
// Create the Handlers instance with the mock store // Create the Handlers instance with the mock store
h := &Handlers{ h := &Handlers{
userdataStore: mockStore, userdataStore: mockDataStore,
} }
// Call the method // Call the method
res, _ := h.GetAmount(ctx, "get_amount", []byte("Getting amount...")) res, _ := h.GetAmount(ctx, "get_amount", []byte(""))
formattedAmount := fmt.Sprintf("%s %s", amount, activeSym)
//Assert that the retrieved amount is what was set as the content //Assert that the retrieved amount is what was set as the content
assert.Equal(t, Amount, res.Content) assert.Equal(t, formattedAmount, res.Content)
} }
@ -1276,16 +1280,18 @@ func TestInitiateTransaction(t *testing.T) {
input []byte input []byte
Recipient []byte Recipient []byte
Amount []byte Amount []byte
ActiveSym []byte
status string status string
expectedResult resource.Result expectedResult resource.Result
}{ }{
{ {
name: "Test initiate transaction", name: "Test initiate transaction",
Amount: []byte("0.002 CELO"), Amount: []byte("0.002"),
ActiveSym: []byte("SRF"),
Recipient: []byte("0x12415ass27192"), Recipient: []byte("0x12415ass27192"),
expectedResult: resource.Result{ expectedResult: resource.Result{
FlagReset: []uint32{account_authorized_flag}, FlagReset: []uint32{account_authorized_flag},
Content: "Your request has been sent. 0x12415ass27192 will receive 0.002 CELO from 254712345678.", Content: "Your request has been sent. 0x12415ass27192 will receive 0.002 SRF from 254712345678.",
}, },
}, },
} }
@ -1294,6 +1300,7 @@ func TestInitiateTransaction(t *testing.T) {
// Define expected interactions with the mock // Define expected interactions with the mock
mockDataStore.On("ReadEntry", ctx, sessionId, utils.DATA_AMOUNT).Return(tt.Amount, nil) mockDataStore.On("ReadEntry", ctx, sessionId, utils.DATA_AMOUNT).Return(tt.Amount, nil)
mockDataStore.On("ReadEntry", ctx, sessionId, utils.DATA_RECIPIENT).Return(tt.Recipient, nil) mockDataStore.On("ReadEntry", ctx, sessionId, utils.DATA_RECIPIENT).Return(tt.Recipient, nil)
mockDataStore.On("ReadEntry", ctx, sessionId, utils.DATA_ACTIVE_SYM).Return(tt.ActiveSym, nil)
// Call the method under test // Call the method under test
res, _ := h.InitiateTransaction(ctx, "transaction_reset_amount", tt.input) res, _ := h.InitiateTransaction(ctx, "transaction_reset_amount", tt.input)
@ -1444,25 +1451,25 @@ func TestValidateAmount(t *testing.T) {
}{ }{
{ {
name: "Test with valid amount", name: "Test with valid amount",
input: []byte("0.001"), input: []byte("4.10"),
activeBal: []byte("0.003"), activeBal: []byte("5"),
expectedResult: resource.Result{ expectedResult: resource.Result{
Content: "0.001", Content: "4.10",
}, },
}, },
{ {
name: "Test with amount larger than active balance", name: "Test with amount larger than active balance",
input: []byte("0.02"), input: []byte("5.02"),
activeBal: []byte("0.003"), activeBal: []byte("5"),
expectedResult: resource.Result{ expectedResult: resource.Result{
FlagSet: []uint32{flag_invalid_amount}, FlagSet: []uint32{flag_invalid_amount},
Content: "0.02", Content: "5.02",
}, },
}, },
{ {
name: "Test with invalid amount format", name: "Test with invalid amount format",
input: []byte("0.02ms"), input: []byte("0.02ms"),
balance: "0.003 CELO", activeBal: []byte("5"),
expectedResult: resource.Result{ expectedResult: resource.Result{
FlagSet: []uint32{flag_invalid_amount}, FlagSet: []uint32{flag_invalid_amount},
Content: "0.02ms", Content: "0.02ms",
@ -1567,7 +1574,7 @@ func TestCheckBalance(t *testing.T) {
publicKey: "0X98765432109", publicKey: "0X98765432109",
activeSym: "ETH", activeSym: "ETH",
activeBal: "1.5", activeBal: "1.5",
expectedResult: resource.Result{Content: "1.5 ETH"}, expectedResult: resource.Result{Content: "Balance: 1.5 ETH\n"},
expectError: false, expectError: false,
}, },
} }