added TestInsertProfileItems

This commit is contained in:
Alfred Kamanda 2025-02-04 10:30:39 +03:00
parent 5a586eb67a
commit 09c5f3a14c
Signed by: Alfred-mk
GPG Key ID: 7EA3D01708908703

View File

@ -19,6 +19,7 @@ import (
"git.grassecon.net/grassrootseconomics/sarafu-api/models"
"git.grassecon.net/grassrootseconomics/sarafu-api/testutil/mocks"
"git.grassecon.net/grassrootseconomics/sarafu-api/testutil/testservice"
"git.grassecon.net/grassrootseconomics/sarafu-vise/profile"
"git.grassecon.net/grassrootseconomics/sarafu-vise/store"
storedb "git.grassecon.net/grassrootseconomics/sarafu-vise/store/db"
@ -3357,3 +3358,46 @@ 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))
}
}