forked from urdt/ussd
		
	update tests
This commit is contained in:
		
							parent
							
								
									6eec9571c7
								
							
						
					
					
						commit
						abbf22086f
					
				| @ -303,7 +303,6 @@ func TestMyAccount_Change_Language(t *testing.T) { | ||||
| 				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) | ||||
| @ -314,21 +313,184 @@ func TestMyAccount_Change_Language(t *testing.T) { | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func TestMyAccount_Savefirstname(t *testing.T) { | ||||
| func TestMyAccount_Edit_firstname(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_save_firstname") | ||||
| 		groups := driver.FilterGroupsByName(session.Groups, "menu_my_account_edit_firstname") | ||||
| 		for _, group := range groups { | ||||
| 			for index, step := range group.Steps { | ||||
| 				t.Logf("step %v with input %v", index, step.Input) | ||||
| 				_, err := en.Exec(ctx, []byte(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_Edit_familyname(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_edit_familyname") | ||||
| 		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_Edit_gender(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_edit_gender") | ||||
| 		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_Edit_yob(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_edit_yob") | ||||
| 		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_Edit_location(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_edit_location") | ||||
| 		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_Edit_offerings(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_edit_offerings") | ||||
| 		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) | ||||
|  | ||||
							
								
								
									
										173
									
								
								test_data.json
									
									
									
									
									
								
							
							
						
						
									
										173
									
								
								test_data.json
									
									
									
									
									
								
							| @ -240,7 +240,7 @@ | ||||
|                 ] | ||||
|             }, | ||||
|             { | ||||
|                 "name": "menu_my_account_save_firstname", | ||||
|                 "name": "menu_my_account_edit_firstname", | ||||
|                 "steps": [  | ||||
|                     { | ||||
| 
 | ||||
| @ -272,7 +272,178 @@ | ||||
|                        "expectedContent": "Thank you for using Sarafu. Goodbye!" | ||||
|                     }                    | ||||
|                 ] | ||||
|             }, | ||||
|             { | ||||
|                 "name": "menu_my_account_edit_familyname", | ||||
|                 "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": "2", | ||||
|                        "expectedContent": "Enter family name:\n0:Back" | ||||
|                     }, | ||||
|                     { | ||||
|                         "input": "bar", | ||||
|                        "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!" | ||||
|                     }                    | ||||
|                 ] | ||||
|             }, | ||||
|             { | ||||
|                 "name": "menu_my_account_edit_gender", | ||||
|                 "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": "3", | ||||
|                        "expectedContent": "Select gender: \n1:Male\n2:Female\n3:Unspecified\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!" | ||||
|                     }                    | ||||
|                 ] | ||||
|             }, | ||||
|             { | ||||
|                 "name": "menu_my_account_edit_yob", | ||||
|                 "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": "4", | ||||
|                        "expectedContent": "Enter your year of birth\n0:Back" | ||||
|                     }, | ||||
|                     { | ||||
|                         "input": "1945", | ||||
|                        "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!" | ||||
|                     }                    | ||||
|                 ] | ||||
|             }, | ||||
|             { | ||||
|                 "name": "menu_my_account_edit_location", | ||||
|                 "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": "5", | ||||
|                        "expectedContent": "Enter your location:\n0:Back" | ||||
|                     }, | ||||
|                     { | ||||
|                         "input": "1945", | ||||
|                        "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!" | ||||
|                     }                    | ||||
|                 ] | ||||
|             }, | ||||
|             { | ||||
|                 "name": "menu_my_account_edit_offerings", | ||||
|                 "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": "6", | ||||
|                        "expectedContent": "Enter the services or goods you offer: \n0:Back" | ||||
|                     }, | ||||
|                     { | ||||
|                         "input": "1945", | ||||
|                        "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!" | ||||
|                     }                    | ||||
|                 ] | ||||
|             } | ||||
| 
 | ||||
|         ] | ||||
|     } | ||||
| ] | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user