diff --git a/internal/handlers/ussd/menuhandler_test.go b/internal/handlers/ussd/menuhandler_test.go index d7cd855..a1e4f3d 100644 --- a/internal/handlers/ussd/menuhandler_test.go +++ b/internal/handlers/ussd/menuhandler_test.go @@ -179,11 +179,14 @@ func TestSaveFirstname(t *testing.T) { fm, _ := NewFlagManager(flagsPath) flag_allow_update, _ := fm.GetFlag("flag_allow_update") + flag_firstname_set, _ := fm.GetFlag("flag_firstname_set") // Set the flag in the State - mockState := state.NewState(16) + mockState := state.NewState(128) mockState.SetFlag(flag_allow_update) + expectedResult := resource.Result{} + // Define test data firstName := "John" @@ -191,6 +194,8 @@ func TestSaveFirstname(t *testing.T) { t.Fatal(err) } + expectedResult.FlagSet = []uint32{flag_firstname_set} + // Create the Handlers instance with the mock store h := &Handlers{ userdataStore: store, @@ -203,7 +208,7 @@ func TestSaveFirstname(t *testing.T) { // Assert results assert.NoError(t, err) - assert.Equal(t, resource.Result{}, res) + assert.Equal(t, expectedResult, res) // Verify that the DATA_FIRST_NAME entry has been updated with the temporary value storedFirstName, _ := store.ReadEntry(ctx, sessionId, common.DATA_FIRST_NAME) @@ -218,11 +223,16 @@ func TestSaveFamilyname(t *testing.T) { fm, _ := NewFlagManager(flagsPath) flag_allow_update, _ := fm.GetFlag("flag_allow_update") + flag_firstname_set, _ := fm.GetFlag("flag_familyname_set") // Set the flag in the State - mockState := state.NewState(16) + mockState := state.NewState(128) mockState.SetFlag(flag_allow_update) + expectedResult := resource.Result{} + + expectedResult.FlagSet = []uint32{flag_firstname_set} + // Define test data familyName := "Doeee" @@ -242,7 +252,7 @@ func TestSaveFamilyname(t *testing.T) { // Assert results assert.NoError(t, err) - assert.Equal(t, resource.Result{}, res) + assert.Equal(t, expectedResult, res) // Verify that the DATA_FAMILY_NAME entry has been updated with the temporary value storedFamilyName, _ := store.ReadEntry(ctx, sessionId, common.DATA_FAMILY_NAME) @@ -257,11 +267,14 @@ func TestSaveYoB(t *testing.T) { fm, _ := NewFlagManager(flagsPath) flag_allow_update, _ := fm.GetFlag("flag_allow_update") + flag_yob_set, _ := fm.GetFlag("flag_yob_set") // Set the flag in the State - mockState := state.NewState(16) + mockState := state.NewState(108) mockState.SetFlag(flag_allow_update) + expectedResult := resource.Result{} + // Define test data yob := "1980" @@ -269,6 +282,8 @@ func TestSaveYoB(t *testing.T) { t.Fatal(err) } + expectedResult.FlagSet = []uint32{flag_yob_set} + // Create the Handlers instance with the mock store h := &Handlers{ userdataStore: store, @@ -281,7 +296,7 @@ func TestSaveYoB(t *testing.T) { // Assert results assert.NoError(t, err) - assert.Equal(t, resource.Result{}, res) + assert.Equal(t, expectedResult, res) // Verify that the DATA_YOB entry has been updated with the temporary value storedYob, _ := store.ReadEntry(ctx, sessionId, common.DATA_YOB) @@ -296,11 +311,14 @@ func TestSaveLocation(t *testing.T) { fm, _ := NewFlagManager(flagsPath) flag_allow_update, _ := fm.GetFlag("flag_allow_update") + flag_location_set, _ := fm.GetFlag("flag_location_set") // Set the flag in the State - mockState := state.NewState(16) + mockState := state.NewState(108) mockState.SetFlag(flag_allow_update) + expectedResult := resource.Result{} + // Define test data location := "Kilifi" @@ -308,6 +326,8 @@ func TestSaveLocation(t *testing.T) { t.Fatal(err) } + expectedResult.FlagSet = []uint32{flag_location_set} + // Create the Handlers instance with the mock store h := &Handlers{ userdataStore: store, @@ -320,7 +340,7 @@ func TestSaveLocation(t *testing.T) { // Assert results assert.NoError(t, err) - assert.Equal(t, resource.Result{}, res) + assert.Equal(t, expectedResult, res) // Verify that the DATA_LOCATION entry has been updated with the temporary value storedLocation, _ := store.ReadEntry(ctx, sessionId, common.DATA_LOCATION) @@ -335,11 +355,14 @@ func TestSaveOfferings(t *testing.T) { fm, _ := NewFlagManager(flagsPath) flag_allow_update, _ := fm.GetFlag("flag_allow_update") + flag_offerings_set, _ := fm.GetFlag("flag_offerings_set") // Set the flag in the State - mockState := state.NewState(16) + mockState := state.NewState(108) mockState.SetFlag(flag_allow_update) + expectedResult := resource.Result{} + // Define test data offerings := "Bananas" @@ -347,6 +370,8 @@ func TestSaveOfferings(t *testing.T) { t.Fatal(err) } + expectedResult.FlagSet = []uint32{flag_offerings_set} + // Create the Handlers instance with the mock store h := &Handlers{ userdataStore: store, @@ -359,7 +384,7 @@ func TestSaveOfferings(t *testing.T) { // Assert results assert.NoError(t, err) - assert.Equal(t, resource.Result{}, res) + assert.Equal(t, expectedResult, res) // Verify that the DATA_OFFERINGS entry has been updated with the temporary value storedOfferings, _ := store.ReadEntry(ctx, sessionId, common.DATA_OFFERINGS) @@ -374,9 +399,10 @@ func TestSaveGender(t *testing.T) { fm, _ := NewFlagManager(flagsPath) flag_allow_update, _ := fm.GetFlag("flag_allow_update") + flag_gender_set, _ := fm.GetFlag("flag_gender_set") // Set the flag in the State - mockState := state.NewState(16) + mockState := state.NewState(108) mockState.SetFlag(flag_allow_update) // Define test cases @@ -420,12 +446,16 @@ func TestSaveGender(t *testing.T) { flagManager: fm.parser, } + expectedResult := resource.Result{} + // Call the method res, err := h.SaveGender(ctx, "save_gender", tt.input) + expectedResult.FlagSet = []uint32{flag_gender_set} + // Assert results assert.NoError(t, err) - assert.Equal(t, resource.Result{}, res) + assert.Equal(t, expectedResult, res) // Verify that the DATA_GENDER entry has been updated with the temporary value storedGender, _ := store.ReadEntry(ctx, sessionId, common.DATA_GENDER)