Compare commits
No commits in common. "ff3c597158b3c879e6c8dbc39537cf9ba9d64874" and "5a586eb67a676aa57e3c5019f147ff8e098b9282" have entirely different histories.
ff3c597158
...
5a586eb67a
@ -19,7 +19,6 @@ import (
|
|||||||
"git.grassecon.net/grassrootseconomics/sarafu-api/models"
|
"git.grassecon.net/grassrootseconomics/sarafu-api/models"
|
||||||
"git.grassecon.net/grassrootseconomics/sarafu-api/testutil/mocks"
|
"git.grassecon.net/grassrootseconomics/sarafu-api/testutil/mocks"
|
||||||
"git.grassecon.net/grassrootseconomics/sarafu-api/testutil/testservice"
|
"git.grassecon.net/grassrootseconomics/sarafu-api/testutil/testservice"
|
||||||
"git.grassecon.net/grassrootseconomics/sarafu-vise/profile"
|
|
||||||
"git.grassecon.net/grassrootseconomics/sarafu-vise/store"
|
"git.grassecon.net/grassrootseconomics/sarafu-vise/store"
|
||||||
storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db"
|
storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db"
|
||||||
|
|
||||||
@ -3358,131 +3357,3 @@ func TestConstructAccountAlias(t *testing.T) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestInsertProfileItems(t *testing.T) {
|
|
||||||
ctx, store := InitializeTestStore(t)
|
|
||||||
sessionId := "session123"
|
|
||||||
mockState := state.NewState(128)
|
|
||||||
|
|
||||||
fm, err := NewFlagManager(flagsPath)
|
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
profileDataKeys := []storedb.DataTyp{
|
|
||||||
storedb.DATA_FIRST_NAME,
|
|
||||||
storedb.DATA_FAMILY_NAME,
|
|
||||||
storedb.DATA_GENDER,
|
|
||||||
storedb.DATA_YOB,
|
|
||||||
storedb.DATA_LOCATION,
|
|
||||||
storedb.DATA_OFFERINGS,
|
|
||||||
}
|
|
||||||
|
|
||||||
profileItems := []string{"John", "Doe", "Male", "1990", "Nairobi", "Software"}
|
|
||||||
|
|
||||||
h := &MenuHandlers{
|
|
||||||
userdataStore: store,
|
|
||||||
flagManager: fm,
|
|
||||||
st: mockState,
|
|
||||||
profile: &profile.Profile{
|
|
||||||
ProfileItems: profileItems,
|
|
||||||
Max: 6,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
res := &resource.Result{}
|
|
||||||
err = h.insertProfileItems(ctx, sessionId, res)
|
|
||||||
require.NoError(t, err)
|
|
||||||
|
|
||||||
// Loop through profileDataKeys to validate stored values
|
|
||||||
for i, key := range profileDataKeys {
|
|
||||||
storedValue, err := store.ReadEntry(ctx, sessionId, key)
|
|
||||||
require.NoError(t, err)
|
|
||||||
assert.Equal(t, profileItems[i], string(storedValue))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestUpdateAllProfileItems(t *testing.T) {
|
|
||||||
ctx, store := InitializeTestStore(t)
|
|
||||||
sessionId := "session123"
|
|
||||||
publicKey := "0X13242618721"
|
|
||||||
|
|
||||||
ctx = context.WithValue(ctx, "SessionId", sessionId)
|
|
||||||
|
|
||||||
mockState := state.NewState(128)
|
|
||||||
mockAccountService := new(mocks.MockAccountService)
|
|
||||||
|
|
||||||
fm, err := NewFlagManager(flagsPath)
|
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
flag_firstname_set, _ := fm.GetFlag("flag_firstname_set")
|
|
||||||
flag_familyname_set, _ := fm.GetFlag("flag_familyname_set")
|
|
||||||
flag_yob_set, _ := fm.GetFlag("flag_yob_set")
|
|
||||||
flag_gender_set, _ := fm.GetFlag("flag_gender_set")
|
|
||||||
flag_location_set, _ := fm.GetFlag("flag_location_set")
|
|
||||||
flag_offerings_set, _ := fm.GetFlag("flag_offerings_set")
|
|
||||||
|
|
||||||
profileDataKeys := []storedb.DataTyp{
|
|
||||||
storedb.DATA_FIRST_NAME,
|
|
||||||
storedb.DATA_FAMILY_NAME,
|
|
||||||
storedb.DATA_GENDER,
|
|
||||||
storedb.DATA_YOB,
|
|
||||||
storedb.DATA_LOCATION,
|
|
||||||
storedb.DATA_OFFERINGS,
|
|
||||||
}
|
|
||||||
|
|
||||||
profileItems := []string{"John", "Doe", "Male", "1990", "Nairobi", "Software"}
|
|
||||||
|
|
||||||
expectedResult := resource.Result{
|
|
||||||
FlagSet: []uint32{
|
|
||||||
flag_firstname_set,
|
|
||||||
flag_familyname_set,
|
|
||||||
flag_yob_set,
|
|
||||||
flag_gender_set,
|
|
||||||
flag_location_set,
|
|
||||||
flag_offerings_set,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
h := &MenuHandlers{
|
|
||||||
userdataStore: store,
|
|
||||||
flagManager: fm,
|
|
||||||
st: mockState,
|
|
||||||
accountService: mockAccountService,
|
|
||||||
profile: &profile.Profile{
|
|
||||||
ProfileItems: profileItems,
|
|
||||||
Max: 6,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
err = store.WriteEntry(ctx, sessionId, storedb.DATA_PUBLIC_KEY, []byte(publicKey))
|
|
||||||
require.NoError(t, err)
|
|
||||||
|
|
||||||
aliasInput := fmt.Sprintf("%s%s", profileItems[0], profileItems[1])
|
|
||||||
|
|
||||||
// Mock the account alias response
|
|
||||||
mockAccountService.On(
|
|
||||||
"RequestAlias",
|
|
||||||
publicKey,
|
|
||||||
aliasInput,
|
|
||||||
).Return(&models.RequestAliasResult{Alias: "JohnDoe"}, nil)
|
|
||||||
|
|
||||||
// Call the function under test
|
|
||||||
res, err := h.UpdateAllProfileItems(ctx, "symbol", nil)
|
|
||||||
assert.NoError(t, err)
|
|
||||||
|
|
||||||
// Loop through profileDataKeys to validate stored values
|
|
||||||
for i, key := range profileDataKeys {
|
|
||||||
storedValue, err := store.ReadEntry(ctx, sessionId, key)
|
|
||||||
require.NoError(t, err)
|
|
||||||
assert.Equal(t, profileItems[i], string(storedValue))
|
|
||||||
}
|
|
||||||
|
|
||||||
// Validate alias storage
|
|
||||||
storedAlias, err := store.ReadEntry(ctx, sessionId, storedb.DATA_ACCOUNT_ALIAS)
|
|
||||||
assert.NoError(t, err)
|
|
||||||
assert.Equal(t, "JohnDoe", string(storedAlias))
|
|
||||||
assert.Equal(t, expectedResult, res)
|
|
||||||
}
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user