Compare commits
	
		
			No commits in common. "9ca50916929bfb89f2fc8cc766397057bede1f29" and "b9712098eff5ff45bfea0d9a3f8e09c338f0eb3b" have entirely different histories.
		
	
	
		
			9ca5091692
			...
			b9712098ef
		
	
		
@ -57,8 +57,6 @@ const (
 | 
				
			|||||||
	DATA_ACTIVE_ADDRESS
 | 
						DATA_ACTIVE_ADDRESS
 | 
				
			||||||
	//Holds count of the number of incorrect PIN attempts
 | 
						//Holds count of the number of incorrect PIN attempts
 | 
				
			||||||
	DATA_INCORRECT_PIN_ATTEMPTS
 | 
						DATA_INCORRECT_PIN_ATTEMPTS
 | 
				
			||||||
	//ISO 639 code for the selected language.
 | 
					 | 
				
			||||||
	DATA_SELECTED_LANGUAGE_CODE
 | 
					 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const (
 | 
					const (
 | 
				
			||||||
 | 
				
			|||||||
@ -161,12 +161,9 @@ func (h *Handlers) SetLanguage(ctx context.Context, sym string, input []byte) (r
 | 
				
			|||||||
		//Fallback to english instead?
 | 
							//Fallback to english instead?
 | 
				
			||||||
		code = "eng"
 | 
							code = "eng"
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	err := h.persistLanguageCode(ctx, code)
 | 
					 | 
				
			||||||
	if err != nil {
 | 
					 | 
				
			||||||
		return res, err
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	res.Content = code
 | 
					 | 
				
			||||||
	res.FlagSet = append(res.FlagSet, state.FLAG_LANG)
 | 
						res.FlagSet = append(res.FlagSet, state.FLAG_LANG)
 | 
				
			||||||
 | 
						res.Content = code
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	languageSetFlag, err := h.flagManager.GetFlag("flag_language_set")
 | 
						languageSetFlag, err := h.flagManager.GetFlag("flag_language_set")
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		logg.ErrorCtxf(ctx, "Error setting the languageSetFlag", "error", err)
 | 
							logg.ErrorCtxf(ctx, "Error setting the languageSetFlag", "error", err)
 | 
				
			||||||
@ -2176,18 +2173,3 @@ func (h *Handlers) resetIncorrectPINAttempts(ctx context.Context, sessionId stri
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
// persistLanguageCode persists the selected ISO 639 language code
 | 
					 | 
				
			||||||
func (h *Handlers) persistLanguageCode(ctx context.Context, code string) error {
 | 
					 | 
				
			||||||
	store := h.userdataStore
 | 
					 | 
				
			||||||
	sessionId, ok := ctx.Value("SessionId").(string)
 | 
					 | 
				
			||||||
	if !ok {
 | 
					 | 
				
			||||||
		return fmt.Errorf("missing session")
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	err := store.WriteEntry(ctx, sessionId, common.DATA_SELECTED_LANGUAGE_CODE, []byte(code))
 | 
					 | 
				
			||||||
	if err != nil {
 | 
					 | 
				
			||||||
		logg.ErrorCtxf(ctx, "failed to persist language code", "key", common.DATA_SELECTED_LANGUAGE_CODE, "value", code, "error", err)
 | 
					 | 
				
			||||||
		return err
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return nil
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -775,11 +775,6 @@ func TestSetLanguage(t *testing.T) {
 | 
				
			|||||||
		log.Fatal(err)
 | 
							log.Fatal(err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	sessionId := "session123"
 | 
					 | 
				
			||||||
	ctx, store := InitializeTestStore(t)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	ctx = context.WithValue(ctx, "SessionId", sessionId)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Define test cases
 | 
						// Define test cases
 | 
				
			||||||
	tests := []struct {
 | 
						tests := []struct {
 | 
				
			||||||
		name           string
 | 
							name           string
 | 
				
			||||||
@ -812,13 +807,12 @@ func TestSetLanguage(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
			// Create the Handlers instance with the mock flag manager
 | 
								// Create the Handlers instance with the mock flag manager
 | 
				
			||||||
			h := &Handlers{
 | 
								h := &Handlers{
 | 
				
			||||||
				flagManager:   fm.parser,
 | 
									flagManager: fm.parser,
 | 
				
			||||||
				userdataStore: store,
 | 
									st:          mockState,
 | 
				
			||||||
				st:            mockState,
 | 
					 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			// Call the method
 | 
								// Call the method
 | 
				
			||||||
			res, err := h.SetLanguage(ctx, "set_language", nil)
 | 
								res, err := h.SetLanguage(context.Background(), "set_language", nil)
 | 
				
			||||||
			if err != nil {
 | 
								if err != nil {
 | 
				
			||||||
				t.Error(err)
 | 
									t.Error(err)
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
@ -2291,41 +2285,3 @@ func TestResetIncorrectPINAttempts(t *testing.T) {
 | 
				
			|||||||
	assert.Equal(t, "0", string(incorrectAttempts))
 | 
						assert.Equal(t, "0", string(incorrectAttempts))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
func TestPersistLanguageCode(t *testing.T) {
 | 
					 | 
				
			||||||
	ctx, store := InitializeTestStore(t)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	sessionId := "session123"
 | 
					 | 
				
			||||||
	ctx = context.WithValue(ctx, "SessionId", sessionId)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	h := &Handlers{
 | 
					 | 
				
			||||||
		userdataStore: store,
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	tests := []struct {
 | 
					 | 
				
			||||||
		name                 string
 | 
					 | 
				
			||||||
		code                 string
 | 
					 | 
				
			||||||
		expectedLanguageCode string
 | 
					 | 
				
			||||||
	}{
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			name:                 "Set Default Language (English)",
 | 
					 | 
				
			||||||
			code:                 "eng",
 | 
					 | 
				
			||||||
			expectedLanguageCode: "eng",
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			name:                 "Set Swahili Language",
 | 
					 | 
				
			||||||
			code:                 "swa",
 | 
					 | 
				
			||||||
			expectedLanguageCode: "swa",
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	for _, test := range tests {
 | 
					 | 
				
			||||||
		err := h.persistLanguageCode(ctx, test.code)
 | 
					 | 
				
			||||||
		if err != nil {
 | 
					 | 
				
			||||||
			t.Logf(err.Error())
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		code, err := store.ReadEntry(ctx, sessionId, common.DATA_SELECTED_LANGUAGE_CODE)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		assert.Equal(t, test.expectedLanguageCode, string(code))
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user