From c5b2348f5e589d87776a3c93629710a6c88e71f3 Mon Sep 17 00:00:00 2001 From: Carlosokumu Date: Tue, 1 Oct 2024 16:54:16 +0300 Subject: [PATCH] add tests --- menu_traversal_test.go | 66 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/menu_traversal_test.go b/menu_traversal_test.go index 728d8c3..fcc578a 100644 --- a/menu_traversal_test.go +++ b/menu_traversal_test.go @@ -138,3 +138,69 @@ func TestAccountRegistrationInvalidPin(t *testing.T) { } } } + +func TestMyAccount_Change_Language(t *testing.T) { + en, _ := enginetest.TestEngine("session1234112") + defer en.Finish() + ctx := context.Background() + sessions := testData + for _, session := range sessions { + groups := driver.FilterGroupsByName(session.Groups, "menu_my_account_language_change") + for _, group := range groups { + for index, step := range group.Steps { + t.Logf("step %v with input %v", index, step.Input) + cont, err := en.Exec(ctx, []byte(step.Input)) + if err != nil { + t.Errorf("Test case '%s' failed at input '%s': %v", group.Name, step.Input, err) + return + } + if !cont { + break + } + w := bytes.NewBuffer(nil) + if _, err := en.Flush(ctx, w); err != nil { + t.Errorf("Test case '%s' failed during Flush: %v", group.Name, err) + } + + b := w.Bytes() + if !bytes.Equal(b, []byte(step.ExpectedContent)) { + t.Fatalf("expected:\n\t%s\ngot:\n\t%s\n", step.ExpectedContent, b) + } + + } + } + } +} + +func TestMyAccount_Savefirstname(t *testing.T) { + en, _ := enginetest.TestEngine("session1234112") + defer en.Finish() + ctx := context.Background() + sessions := testData + for _, session := range sessions { + groups := driver.FilterGroupsByName(session.Groups, "menu_my_account_save_firstname") + for _, group := range groups { + for index, step := range group.Steps { + t.Logf("step %v with input %v", index, step.Input) + cont, err := en.Exec(ctx, []byte(step.Input)) + if err != nil { + t.Errorf("Test case '%s' failed at input '%s': %v", group.Name, step.Input, err) + return + } + if !cont { + break + } + w := bytes.NewBuffer(nil) + if _, err := en.Flush(ctx, w); err != nil { + t.Errorf("Test case '%s' failed during Flush: %v", group.Name, err) + } + + b := w.Bytes() + if !bytes.Equal(b, []byte(step.ExpectedContent)) { + t.Fatalf("expected:\n\t%s\ngot:\n\t%s\n", step.ExpectedContent, b) + } + + } + } + } +}