From 1ff2c3602fa171233e66f712fc6dc9edd8befe47 Mon Sep 17 00:00:00 2001
From: Carlosokumu <carlosokumu254@gmail.com>
Date: Tue, 1 Oct 2024 23:21:29 +0300
Subject: [PATCH] update tests

---
 menu_traversal_test.go | 14 +++++----
 test_data.json         | 65 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 74 insertions(+), 5 deletions(-)

diff --git a/menu_traversal_test.go b/menu_traversal_test.go
index 5709b1d..e2eb06f 100644
--- a/menu_traversal_test.go
+++ b/menu_traversal_test.go
@@ -139,8 +139,8 @@ func TestAccountRegistrationInvalidPin(t *testing.T) {
 }
 
 func TestMyAccount_Change_Language(t *testing.T) {
-	en, _ := enginetest.TestEngine("session1234112")
-	defer en.Finish()
+	en, fn := enginetest.TestEngine("session1234112")
+	defer fn()
 	ctx := context.Background()
 	sessions := testData
 	for _, session := range sessions {
@@ -172,8 +172,8 @@ func TestMyAccount_Change_Language(t *testing.T) {
 }
 
 func TestMyAccount_Savefirstname(t *testing.T) {
-	en, _ := enginetest.TestEngine("session1234112")
-	defer en.Finish()
+	en, fn := enginetest.TestEngine("session1234112")
+	defer fn()
 	ctx := context.Background()
 	sessions := testData
 	for _, session := range sessions {
@@ -181,11 +181,14 @@ func TestMyAccount_Savefirstname(t *testing.T) {
 		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))
+
+				cont, err := en.Exec(ctx, []byte("3"))
+
 				if err != nil {
 					t.Errorf("Test case '%s' failed at input '%s': %v", group.Name, step.Input, err)
 					return
 				}
+
 				if !cont {
 					break
 				}
@@ -198,6 +201,7 @@ func TestMyAccount_Savefirstname(t *testing.T) {
 				if !bytes.Equal(b, []byte(step.ExpectedContent)) {
 					t.Fatalf("expected:\n\t%s\ngot:\n\t%s\n", step.ExpectedContent, b)
 				}
+				en.Finish()
 
 			}
 		}
diff --git a/test_data.json b/test_data.json
index 789f064..c9b0593 100644
--- a/test_data.json
+++ b/test_data.json
@@ -95,6 +95,71 @@
                     }
                    
                 ]
+            },
+            {
+                "name": "menu_my_account_language_change",
+                "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": "2",
+                       "expectedContent": "Please enter your PIN:"
+                    },
+                    {
+                        "input": "1234",
+                       "expectedContent": "Select language:\n0:english\n1:kiswahili"
+                    },
+                    {
+                        "input": "0",
+                       "expectedContent": "Your language change request was successful.\n0:Back\n9:Quit"
+                    },
+                    {
+                        "input": "9",
+                       "expectedContent": "Thank you for using Sarafu. Goodbye!"
+                    } 
+                                 
+                ]
+            },
+            {
+                "name": "menu_my_account_save_firstname",
+                "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": "1",
+                       "expectedContent": "My profile\n1:Edit name\n2:Edit family name\n3:Edit gender\n4:Edit year of birth\n5:Edit location\n6:Edit offerings\n7:View profile\n0:Back"
+                    },
+                    {
+                        "input": "1",
+                       "expectedContent": "Enter your first names:\n0:Back"
+                    },
+                    {
+                        "input": "foo",
+                       "expectedContent": "Please enter your PIN:"
+                    },  
+                    {
+                        "input": "1234",
+                       "expectedContent": "Profile updated successfully\n\n0:Back\n9:Quit"
+                    },
+                    {
+                        "input": "9",
+                       "expectedContent": "Thank you for using Sarafu. Goodbye!"
+                    }                   
+                ]
             }
         ]
     }