voucher-data #138

Merged
lash merged 18 commits from voucher-data into master 2024-10-31 13:44:19 +01:00
2 changed files with 37 additions and 9 deletions
Showing only changes of commit dc782d87a8 - Show all commits

View File

@ -1197,7 +1197,7 @@ func (h *Handlers) ViewVoucher(ctx context.Context, sym string, input []byte) (r
}
if err := h.storeTemporaryVoucher(ctx, sessionId, metadata); err != nil {
return resource.Result{}, err
return res, err
}
res.FlagReset = append(res.FlagReset, flag_incorrect_voucher)
@ -1295,15 +1295,16 @@ func (h *Handlers) SetVoucher(ctx context.Context, sym string, input []byte) (re
// Get temporary data
tempData, err := h.getTemporaryVoucherData(ctx, sessionId)
if err != nil {
return resource.Result{}, err
return res, err
}
// Set as active and clear temporary
if err := h.updateVoucherData(ctx, sessionId, tempData); err != nil {
return resource.Result{}, err
return res, err
}
return resource.Result{Content: tempData.Symbol}, nil
res.Content = tempData.Symbol
return res, nil
}
func (h *Handlers) getTemporaryVoucherData(ctx context.Context, sessionId string) (*VoucherMetadata, error) {

View File

@ -1816,16 +1816,43 @@ func TestSetVoucher(t *testing.T) {
sessionId := "session123"
ctx := context.WithValue(context.Background(), "SessionId", sessionId)
// Define the temporary voucher data
temporarySym := []byte("tempSym")
temporaryBal := []byte("tempBal")
temporaryDecimal := []byte("2")
temporaryAddress := []byte("0x123456")
// Set expectations for the mock data store
// Define the expected active entries
activeEntries := map[utils.DataTyp][]byte{
utils.DATA_ACTIVE_SYM: temporarySym,
utils.DATA_ACTIVE_BAL: temporaryBal,
utils.DATA_ACTIVE_DECIMAL: temporaryDecimal,
utils.DATA_ACTIVE_ADDRESS: temporaryAddress,
}
// Define the temporary entries to be cleared
tempEntries := map[utils.DataTyp][]byte{
utils.DATA_TEMPORARY_SYM: []byte(""),
utils.DATA_TEMPORARY_BAL: []byte(""),
utils.DATA_TEMPORARY_DECIMAL: []byte(""),
utils.DATA_TEMPORARY_ADDRESS: []byte(""),
}
// Mocking ReadEntry calls for temporary data retrieval
mockDataStore.On("ReadEntry", ctx, sessionId, utils.DATA_TEMPORARY_SYM).Return(temporarySym, nil)
mockDataStore.On("ReadEntry", ctx, sessionId, utils.DATA_TEMPORARY_BAL).Return(temporaryBal, nil)
mockDataStore.On("WriteEntry", ctx, sessionId, utils.DATA_ACTIVE_SYM, temporarySym).Return(nil)
mockDataStore.On("WriteEntry", ctx, sessionId, utils.DATA_ACTIVE_BAL, temporaryBal).Return(nil)
mockDataStore.On("WriteEntry", ctx, sessionId, utils.DATA_TEMPORARY_SYM, []byte("")).Return(nil)
mockDataStore.On("WriteEntry", ctx, sessionId, utils.DATA_TEMPORARY_BAL, []byte("")).Return(nil)
mockDataStore.On("ReadEntry", ctx, sessionId, utils.DATA_TEMPORARY_DECIMAL).Return(temporaryDecimal, nil)
mockDataStore.On("ReadEntry", ctx, sessionId, utils.DATA_TEMPORARY_ADDRESS).Return(temporaryAddress, nil)
// Mocking WriteEntry calls for setting active data
for key, value := range activeEntries {
mockDataStore.On("WriteEntry", ctx, sessionId, key, value).Return(nil)
}
// Mocking WriteEntry calls for clearing temporary data
for key, value := range tempEntries {
mockDataStore.On("WriteEntry", ctx, sessionId, key, value).Return(nil)
}
h := &Handlers{
userdataStore: mockDataStore,