MOBILE-3926 glossary: Test navigation
This commit is contained in:
		
							parent
							
								
									4a09136925
								
							
						
					
					
						commit
						2b93e0e5f9
					
				
							
								
								
									
										289
									
								
								mod/glossary/tests/behat/app_navigation.feature
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										289
									
								
								mod/glossary/tests/behat/app_navigation.feature
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,289 @@ | ||||
| @mod @mod_glossary @app @javascript | ||||
| Feature: Test glossary navigation | ||||
| 
 | ||||
|   Background: | ||||
|     Given the following "users" exist: | ||||
|       | username | firstname | lastname | | ||||
|       | student1 | First     | Student  | | ||||
|       | student2 | Second    | Student  | | ||||
|     And the following "courses" exist: | ||||
|       | fullname | shortname | | ||||
|       | Course 1 | C1        | | ||||
|     And the following "course enrolments" exist: | ||||
|       | user     | course | role    | | ||||
|       | student1 | C1     | student | | ||||
|     And the following "activities" exist: | ||||
|       | activity | name            | course | idnumber | displayformat | | ||||
|       | glossary | Fruits glossary | C1     | glossary | entrylist     | | ||||
|     And the following "mod_glossary > entries" exist: | ||||
|       | glossary | concept | definition | user | | ||||
|       | glossary | Acerola | Acerola is a fruit | student1 | | ||||
|       | glossary | Apple | Apple is a fruit | student2 | | ||||
|       | glossary | Apricots | Apricots are a fruit | student1 | | ||||
|       | glossary | Avocado | Avocado is a fruit | student2 | | ||||
|       | glossary | Banana | Banana is a fruit | student1 | | ||||
|       | glossary | Blackberries | Blackberries is a fruit | student2 | | ||||
|       | glossary | Blackcurrant | Blackcurrant is a fruit | student1 | | ||||
|       | glossary | Blueberries | Blueberries is a fruit | student2 | | ||||
|       | glossary | Breadfruit | Breadfruit is a fruit | student1 | | ||||
|       | glossary | Cantaloupe | Cantaloupe is a fruit | student2 | | ||||
|       | glossary | Carambola | Carambola is a fruit | student1 | | ||||
|       | glossary | Cherimoya | Cherimoya is a fruit | student2 | | ||||
|       | glossary | Cherries | Cherries is a fruit | student1 | | ||||
|       | glossary | Clementine | Clementine is a fruit | student2 | | ||||
|       | glossary | Coconut | Coconut is a fruit | student1 | | ||||
|       | glossary | Cranberries | Cranberries is a fruit | student2 | | ||||
|       | glossary | Date Fruit | Date Fruit is a fruit | student1 | | ||||
|       | glossary | Durian | Durian is a fruit | student2 | | ||||
|       | glossary | Elderberries | Elderberries is a fruit | student1 | | ||||
|       | glossary | Feijoa | Feijoa is a fruit | student2 | | ||||
|       | glossary | Figs | Figs is a fruit | student1 | | ||||
|       | glossary | Gooseberries | Gooseberries are a fruit | student2 | | ||||
|       | glossary | Grapefruit | Grapefruit is a fruit | student1 | | ||||
|       | glossary | Grapes | Grapes are a fruit | student2 | | ||||
|       | glossary | Guava | Guava is a fruit | student1 | | ||||
|       | glossary | Honeydew Melon | Honeydew Melon is a fruit | student2 | | ||||
|       | glossary | Jackfruit | Jackfruit is a fruit | student1 | | ||||
|       | glossary | Java-Plum | Java-Plum is a fruit | student2 | | ||||
|       | glossary | Jujube Fruit | Jujube Fruit is a fruit | student1 | | ||||
|       | glossary | Kiwifruit | Kiwifruit is a fruit | student2 | | ||||
|       | glossary | Kumquat | Kumquat is a fruit | student1 | | ||||
|       | glossary | Lemon | Lemon is a fruit | student2 | | ||||
|       | glossary | lime | lime is a fruit | student1 | | ||||
|       | glossary | Lime | Lime is a fruit | student2 | | ||||
|       | glossary | Longan | Longan is a fruit | student1 | | ||||
|       | glossary | Loquat | Loquat is a fruit | student2 | | ||||
|       | glossary | Lychee | Lychee is a fruit | student1 | | ||||
|       | glossary | Mandarin | Mandarin is a fruit | student2 | | ||||
|       | glossary | Mango | Mango is a fruit | student1 | | ||||
|       | glossary | Mangosteen | Mangosteen is a fruit | student2 | | ||||
|       | glossary | Mulberries | Mulberries are a fruit | student1 | | ||||
|       | glossary | Nectarine | Nectarine is a fruit | student2 | | ||||
|       | glossary | Olives | Olives are a fruit | student1 | | ||||
|       | glossary | Orange | Orange is a fruit | student2 | | ||||
|       | glossary | Papaya | Papaya is a fruit | student1 | | ||||
|       | glossary | Passion Fruit | Passion Fruit is a fruit | student2 | | ||||
|       | glossary | Peaches | Peaches is a fruit | student1 | | ||||
|       | glossary | Pear | Pear is a fruit | student2 | | ||||
|       | glossary | Persimmon | Persimmon is a fruit | student1 | | ||||
|       | glossary | Pitaya | Pitaya is a fruit | student2 | | ||||
|       | glossary | Pineapple | Pineapple is a fruit | student1 | | ||||
|       | glossary | Pitanga | Pitanga is a fruit | student2 | | ||||
|       | glossary | Plantain | Plantain is a fruit | student1 | | ||||
|       | glossary | Plums | Plums are a fruit | student2 | | ||||
|       | glossary | Pomegranate | Pomegranate is a fruit | student1 | | ||||
|       | glossary | Prickly Pear | Prickly Pear is a fruit | student2 | | ||||
|       | glossary | Prunes | Prunes is a fruit | student1 | | ||||
|       | glossary | Pummelo | Pummelo is a fruit | student2 | | ||||
|       | glossary | Quince | Quince is a fruit | student1 | | ||||
|       | glossary | Raspberries | Raspberries are a fruit | student2 | | ||||
|       | glossary | Rhubarb | Rhubarb is a fruit | student1 | | ||||
|       | glossary | Rose-Apple | Rose-Apple is a fruit | student2 | | ||||
|       | glossary | Sapodilla | Sapodilla is a fruit | student1 | | ||||
|       | glossary | Sapote, Mamey | Sapote, Mamey is a fruit | student2 | | ||||
|       | glossary | Soursop | Soursop is a fruit | student1 | | ||||
|       | glossary | Strawberries | Strawberries is a fruit | student2 | | ||||
|       | glossary | Tamarind | Tamarind is a fruit | student2 | | ||||
|       | glossary | Tangerine | Tangerine is a fruit | student1 | | ||||
|       | glossary | Watermelon | Watermelon is a fruit | student2 | | ||||
| 
 | ||||
|   Scenario: Mobile navigation | ||||
|     Given I enter the course "Course 1" as "student1" in the app | ||||
| 
 | ||||
|     # Alphabetically | ||||
|     When I press "Fruits glossary" in the app | ||||
|     Then I should find "Acerola" in the app | ||||
|     And I should find "Apple" in the app | ||||
|     But I should not find "Honeydew Melon" in the app | ||||
| 
 | ||||
|     # Alphabetically — Infinite loading | ||||
|     When I load more items in the app | ||||
|     Then I should find "Honeydew Melon" in the app | ||||
| 
 | ||||
|     # Alphabetically — Swipe | ||||
|     When I press "Acerola" in the app | ||||
|     Then I should find "Acerola is a fruit" in the app | ||||
| 
 | ||||
|     When I swipe to the right in the app | ||||
|     Then I should find "Acerola is a fruit" in the app | ||||
| 
 | ||||
|     When I swipe to the left in the app | ||||
|     Then I should find "Apple is a fruit" in the app | ||||
| 
 | ||||
|     When I swipe to the left in the app | ||||
|     Then I should find "Apricots are a fruit" in the app | ||||
| 
 | ||||
|     # By author | ||||
|     When I press the back button in the app | ||||
|     And I scroll to "Acerola" in the app | ||||
|     And I press "Browse entries" in the app | ||||
|     And I press "Group by author" in the app | ||||
|     Then I should find "First Student" in the app | ||||
|     And I should find "Acerola" in the app | ||||
|     And I should find "Apricots" in the app | ||||
|     But I should not find "Second Student" in the app | ||||
|     And I should not find "Apple" in the app | ||||
| 
 | ||||
|     # By author — Infinite loading | ||||
|     When I load more items in the app | ||||
|     Then I should find "Second Student" in the app | ||||
|     And I should find "Apple" in the app | ||||
| 
 | ||||
|     # By author — Swipe | ||||
|     When I press "Acerola" in the app | ||||
|     Then I should find "Acerola is a fruit" in the app | ||||
| 
 | ||||
|     When I swipe to the right in the app | ||||
|     Then I should find "Acerola is a fruit" in the app | ||||
| 
 | ||||
|     When I swipe to the left in the app | ||||
|     Then I should find "Apricots are a fruit" in the app | ||||
| 
 | ||||
|     When I swipe to the left in the app | ||||
|     Then I should find "Banana is a fruit" in the app | ||||
| 
 | ||||
|     # Search | ||||
|     When I press the back button in the app | ||||
|     And I scroll to "Acerola" in the app | ||||
|     And I press "Search" in the app | ||||
|     And I set the field "Search" to "melon" in the app | ||||
|     And I press "Search" "button" near "Clear search" in the app | ||||
|     Then I should find "Honeydew Melon" in the app | ||||
|     And I should find "Watermelon" in the app | ||||
|     But I should not find "Acerola" in the app | ||||
| 
 | ||||
|     # Search — Swipe | ||||
|     When I press "Honeydew Melon" in the app | ||||
|     Then I should find "Honeydew Melon is a fruit" in the app | ||||
| 
 | ||||
|     When I swipe to the right in the app | ||||
|     Then I should find "Honeydew Melon is a fruit" in the app | ||||
| 
 | ||||
|     When I swipe to the left in the app | ||||
|     Then I should find "Watermelon is a fruit" in the app | ||||
| 
 | ||||
|     When I swipe to the left in the app | ||||
|     Then I should find "Watermelon is a fruit" in the app | ||||
| 
 | ||||
|     # Offline | ||||
|     When I press the back button in the app | ||||
|     And I press "Clear search" in the app | ||||
|     And I press "Add a new entry" in the app | ||||
|     And I switch offline mode to "true" | ||||
|     And I set the field "Concept" to "Tomato" in the app | ||||
|     And I set the field "Definition" to "Tomato is a fruit" in the app | ||||
|     And I press "Save" in the app | ||||
|     And I press "Add a new entry" in the app | ||||
|     And I set the field "Concept" to "Cashew" in the app | ||||
|     And I set the field "Definition" to "Cashew is a fruit" in the app | ||||
|     And I press "Save" in the app | ||||
|     Then I should find "Entries to be synced" in the app | ||||
|     And I should find "Tomato" in the app | ||||
|     And I should find "Cashew" in the app | ||||
| 
 | ||||
|     # Offline — Swipe | ||||
|     When I press "Cashew" in the app | ||||
|     Then I should find "Cashew is a fruit" in the app | ||||
| 
 | ||||
|     When I swipe to the right in the app | ||||
|     Then I should find "Cashew is a fruit" in the app | ||||
| 
 | ||||
|     When I swipe to the left in the app | ||||
|     Then I should find "Tomato is a fruit" in the app | ||||
| 
 | ||||
|     When I swipe to the left in the app | ||||
|     Then I should find "Acerola is a fruit" in the app | ||||
| 
 | ||||
|   Scenario: Tablet navigation | ||||
|     Given I enter the course "Course 1" as "student1" in the app | ||||
|     And I change viewport size to "1200x640" | ||||
| 
 | ||||
|     # Alphabetically | ||||
|     When I press "Fruits glossary" in the app | ||||
|     Then I should find "Acerola" in the app | ||||
|     And I should find "Apple" in the app | ||||
|     And "Acerola" near "Apple" should be selected in the app | ||||
|     And I should find "Acerola is a fruit" inside the split-view content in the app | ||||
|     But I should not find "Honeydew Melon" in the app | ||||
| 
 | ||||
|     # Alphabetically — Infinite loading | ||||
|     When I load more items in the app | ||||
|     Then I should find "Honeydew Melon" in the app | ||||
| 
 | ||||
|     # Alphabetically — Split view | ||||
|     When I press "Apple" in the app | ||||
|     Then "Apple" near "Acerola" should be selected in the app | ||||
|     And I should find "Apple is a fruit" inside the split-view content in the app | ||||
| 
 | ||||
|     When I press "Honeydew Melon" in the app | ||||
|     Then "Honeydew Melon" near "Guava" should be selected in the app | ||||
|     And I should find "Honeydew Melon is a fruit" inside the split-view content in the app | ||||
| 
 | ||||
|     # By author | ||||
|     When I press "Apple" in the app | ||||
|     When I scroll to "Apple" in the app | ||||
|     And I press "Browse entries" in the app | ||||
|     And I press "Group by author" in the app | ||||
|     Then I should find "First Student" in the app | ||||
|     And I should find "Acerola" in the app | ||||
|     And I should find "Apricots" in the app | ||||
|     And "Acerola" near "Apricots" should be selected in the app | ||||
|     And I should find "Acerola is a fruit" inside the split-view content in the app | ||||
|     But I should not find "Second Student" in the app | ||||
|     And I should not find "Apple" in the app | ||||
| 
 | ||||
|     # By author — Infinite loading | ||||
|     When I load more items in the app | ||||
|     Then I should find "Second Student" in the app | ||||
|     And I should find "Apple" in the app | ||||
| 
 | ||||
|     # By author — Split view | ||||
|     When I press "Apricots" in the app | ||||
|     And "Apricots" near "Acerola" should be selected in the app | ||||
|     And I should find "Apricots are a fruit" inside the split-view content in the app | ||||
| 
 | ||||
|     When I press "Apple" in the app | ||||
|     And "Apple" near "Persimmon" should be selected in the app | ||||
|     And I should find "Apple is a fruit" inside the split-view content in the app | ||||
| 
 | ||||
|     # Search | ||||
|     When I press "Search" in the app | ||||
|     And I set the field "Search" to "melon" in the app | ||||
|     And I press "Search" "button" near "Clear search" in the app | ||||
|     Then I should find "Honeydew Melon" in the app | ||||
|     And I should find "Watermelon" in the app | ||||
|     And "Honeydew Melon" near "Watermelon" should be selected in the app | ||||
|     And I should find "Honeydew Melon is a fruit" inside the split-view content in the app | ||||
|     But I should not find "Acerola" in the app | ||||
| 
 | ||||
|     # Search — Split view | ||||
|     When I press "Watermelon" in the app | ||||
|     Then "Watermelon" near "Honeydew Melon" should be selected in the app | ||||
|     And I should find "Watermelon is a fruit" inside the split-view content in the app | ||||
| 
 | ||||
|     # Offline | ||||
|     When I press "Clear search" in the app | ||||
|     And I press "Add a new entry" in the app | ||||
|     And I switch offline mode to "true" | ||||
|     And I set the field "Concept" to "Tomato" in the app | ||||
|     And I set the field "Definition" to "Tomato is a fruit" in the app | ||||
|     And I press "Save" in the app | ||||
|     And I set the field "Concept" to "Cashew" in the app | ||||
|     And I set the field "Definition" to "Cashew is a fruit" in the app | ||||
|     And I press "Save" in the app | ||||
|     Then I should find "Entries to be synced" in the app | ||||
|     And I should find "Tomato" in the app | ||||
|     And I should find "Cashew" in the app | ||||
| 
 | ||||
|     # Offline — Split view | ||||
|     When I press "Cashew" in the app | ||||
|     Then "Cashew" near "Tomato" should be selected in the app | ||||
|     And I should find "Cashew is a fruit" inside the split-view content in the app | ||||
| 
 | ||||
|     When I press "Tomato" in the app | ||||
|     Then "Tomato" near "Cashew" should be selected in the app | ||||
|     And I should find "Tomato is a fruit" inside the split-view content in the app | ||||
| 
 | ||||
|     When I press "Acerola" in the app | ||||
|     Then "Acerola" near "Tomato" should be selected in the app | ||||
|     And I should find "Acerola is a fruit" inside the split-view content in the app | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user