From ab02a8882a7bf748a7e867f0ebd71e0b73622dca Mon Sep 17 00:00:00 2001 From: Carlosokumu Date: Wed, 2 Oct 2024 12:10:32 +0300 Subject: [PATCH] update tests --- menu_traversal_test.go | 37 +++++++++++++++++++++++++++++++++---- test_data.json | 29 ++++++++++++++++++++++++++--- 2 files changed, 59 insertions(+), 7 deletions(-) diff --git a/menu_traversal_test.go b/menu_traversal_test.go index 2dc7bd8..861a09d 100644 --- a/menu_traversal_test.go +++ b/menu_traversal_test.go @@ -537,8 +537,7 @@ func TestMyAccount_View_Profile(t *testing.T) { } } - -func TestMyAccount_Check_Balance(t *testing.T){ +func TestMyAccount_Check_Balance(t *testing.T) { en, fn := enginetest.TestEngine("session1234112") defer fn() ctx := context.Background() @@ -570,8 +569,7 @@ func TestMyAccount_Check_Balance(t *testing.T){ } } - -func TestMyAccount_Check_Balance_IncorrectPin(t *testing.T){ +func TestMyAccount_Check_Balance_IncorrectPin(t *testing.T) { en, fn := enginetest.TestEngine("session1234112") defer fn() ctx := context.Background() @@ -603,3 +601,34 @@ func TestMyAccount_Check_Balance_IncorrectPin(t *testing.T){ } } +func TestMyAccount_MyAddress(t *testing.T) { + en, fn := enginetest.TestEngine("session1234112") + defer fn() + ctx := context.Background() + sessions := testData + for _, session := range sessions { + groups := driver.FilterGroupsByName(session.Groups, "menu_my_account_my_address") + 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) + } + + } + } + } +} diff --git a/test_data.json b/test_data.json index 651fa80..a6737f4 100644 --- a/test_data.json +++ b/test_data.json @@ -229,12 +229,12 @@ "expectedContent": "Select language:\n0:english\n1:kiswahili" }, { - "input": "0", - "expectedContent": "Your language change request was successful.\n0:Back\n9:Quit" + "input": "1", + "expectedContent": "Ombi lako la kubadilisha lugha limefanikiwa.\n0:Rudi\n9:Ondoka" }, { "input": "9", - "expectedContent": "Thank you for using Sarafu. Goodbye!" + "expectedContent": "Asante kwa kutumia huduma ya Sarafu. Kwaheri!" } ] @@ -534,6 +534,29 @@ "expectedContent": "Incorrect pin\n1:retry\n9:Quit" } + ] + }, + { + "name": "menu_my_account_my_address", + "steps": [ + { + "input":"", + "expectedContent": "Balance: 0.003 CELO\n\n1:Send\n2:My Vouchers\n3:My Account\n4:Help\n9:Quit" + + }, + { + "input": "3", + "expectedContent": "My Account\n1:Profile\n2:Change language\n3:Check balances\n4:Check statement\n5:PIN options\n6:My Address\n0:Back" + }, + { + "input": "6", + "expectedContent": "Address: 0xdF8CB1D9b5BDaE418E5Bee107031cA7d933906CD\n9:Quit" + }, + { + "input": "9", + "expectedContent": "Thank you for using Sarafu. Goodbye!" + } + ] }