forked from CIT/Vmeda.Online
		
	MOBILE-4047 settings: Tests sync sites
This commit is contained in:
		
							parent
							
								
									2cb74230c1
								
							
						
					
					
						commit
						889e4cb63a
					
				@ -1,4 +1,4 @@
 | 
			
		||||
@app @javascript
 | 
			
		||||
@app @javascript @core_settings
 | 
			
		||||
Feature: It navigates properly within settings.
 | 
			
		||||
 | 
			
		||||
  Background:
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										150
									
								
								src/core/features/settings/tests/behat/sync.feature
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										150
									
								
								src/core/features/settings/tests/behat/sync.feature
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,150 @@
 | 
			
		||||
@app @javascript @core_settings
 | 
			
		||||
Feature: It synchronise sites properly
 | 
			
		||||
 | 
			
		||||
  Background:
 | 
			
		||||
    Given the following "courses" exist:
 | 
			
		||||
      | fullname | shortname | category |
 | 
			
		||||
      | Course 1 | C1 | 0 |
 | 
			
		||||
    And the following "users" exist:
 | 
			
		||||
      | username | firstname | lastname |
 | 
			
		||||
      | student1 | david     | student  |
 | 
			
		||||
      | student2 | pau       | student2 |
 | 
			
		||||
    And the following "course enrolments" exist:
 | 
			
		||||
      | user | course | role |
 | 
			
		||||
      | student1 | C1 | student |
 | 
			
		||||
      | student2 | C1 | student |
 | 
			
		||||
    And the following "activities" exist:
 | 
			
		||||
      | activity | name        | intro | course | idnumber | option                       | allowmultiple | allowupdate | showresults |
 | 
			
		||||
      | choice   | Sync choice | Intro | C1     | choice1  | Option 1, Option 2, Option 3 | 0             | 0           | 1           |
 | 
			
		||||
 | 
			
		||||
  Scenario: Sync the current site
 | 
			
		||||
    # Add something offline
 | 
			
		||||
    Given I entered the choice activity "Sync choice" on course "Course 1" as "student1" in the app
 | 
			
		||||
    When I switch network connection to offline
 | 
			
		||||
    And I select "Option 1" in the app
 | 
			
		||||
    And I press "Save my choice" in the app
 | 
			
		||||
    And I press "OK" in the app
 | 
			
		||||
    Then I should find "This Choice has offline data to be synchronised." in the app
 | 
			
		||||
 | 
			
		||||
    # Cannot sync in offline
 | 
			
		||||
    When I press the back button in the app
 | 
			
		||||
    And I press the back button in the app
 | 
			
		||||
    And I press the user menu button in the app
 | 
			
		||||
    And I press "Preferences" in the app
 | 
			
		||||
    Then I should find "Your device is offline. Connect to the internet to synchronise sites." in the app
 | 
			
		||||
    And I should not find "Connect to a Wi-Fi network or turn off Data saver to synchronise sites." in the app
 | 
			
		||||
 | 
			
		||||
    When I switch network connection to wifi
 | 
			
		||||
    Then I should not find "Your device is offline. Connect to the internet to synchronise sites." in the app
 | 
			
		||||
    And I should not find "Connect to a Wi-Fi network or turn off Data saver to synchronise sites." in the app
 | 
			
		||||
 | 
			
		||||
    # Check synced
 | 
			
		||||
    When I press "Synchronise now" "button" in the app
 | 
			
		||||
    And I wait loading to finish in the app
 | 
			
		||||
    And I switch network connection to offline
 | 
			
		||||
    And I press the back button in the app
 | 
			
		||||
    And I entered the course "Course 1" in the app
 | 
			
		||||
    And I press "Sync choice" in the app
 | 
			
		||||
    Then I should not find "This Choice has offline data to be synchronised." in the app
 | 
			
		||||
 | 
			
		||||
    # Check limited sync.
 | 
			
		||||
    When I switch network connection to cellular
 | 
			
		||||
    And I press the back button in the app
 | 
			
		||||
    And I press the back button in the app
 | 
			
		||||
    And I press the user menu button in the app
 | 
			
		||||
    And I press "Preferences" in the app
 | 
			
		||||
 | 
			
		||||
    # Cannot sync in cellular
 | 
			
		||||
    Then I should find "Connect to a Wi-Fi network or turn off Data saver to synchronise sites." in the app
 | 
			
		||||
    And I should not find "Your device is offline. Connect to the internet to synchronise sites." in the app
 | 
			
		||||
 | 
			
		||||
  Scenario: Sync sites messages with different network connections
 | 
			
		||||
    Given I entered the app as "student1"
 | 
			
		||||
 | 
			
		||||
    # Wifi + data saver on.
 | 
			
		||||
    When I press the more menu button in the app
 | 
			
		||||
    And I press "App settings" in the app
 | 
			
		||||
    And I press "Synchronisation" in the app
 | 
			
		||||
    Then I should not find "Your device is offline. Connect to the internet to synchronise sites." in the app
 | 
			
		||||
    And I should not find "Connect to a Wi-Fi network or turn off Data saver to synchronise sites." in the app
 | 
			
		||||
    And I should find "Accounts" in the app
 | 
			
		||||
 | 
			
		||||
    # Limited + data saver on.
 | 
			
		||||
    When I switch network connection to cellular
 | 
			
		||||
    Then I should not find "Your device is offline. Connect to the internet to synchronise sites." in the app
 | 
			
		||||
    And I should find "Connect to a Wi-Fi network or turn off Data saver to synchronise sites." in the app
 | 
			
		||||
    And I should not find "Accounts" in the app
 | 
			
		||||
 | 
			
		||||
    # Offline + data saver on.
 | 
			
		||||
    When I switch network connection to offline
 | 
			
		||||
    Then I should find "Your device is offline. Connect to the internet to synchronise sites." in the app
 | 
			
		||||
    And I should not find "Connect to a Wi-Fi network or turn off Data saver to synchronise sites." in the app
 | 
			
		||||
    And I should not find "Accounts" in the app
 | 
			
		||||
 | 
			
		||||
    # Wifi + data saver off.
 | 
			
		||||
    When I press "Data saver: Synchronise only when on Wi-Fi" in the app
 | 
			
		||||
    And I switch network connection to wifi
 | 
			
		||||
    Then I should not find "Your device is offline. Connect to the internet to synchronise sites." in the app
 | 
			
		||||
    And I should not find "Connect to a Wi-Fi network or turn off Data saver to synchronise sites." in the app
 | 
			
		||||
    And I should find "Accounts" in the app
 | 
			
		||||
 | 
			
		||||
    # Limited + data saver off.
 | 
			
		||||
    When I switch network connection to cellular
 | 
			
		||||
    Then I should not find "Your device is offline. Connect to the internet to synchronise sites." in the app
 | 
			
		||||
    And I should not find "Connect to a Wi-Fi network or turn off Data saver to synchronise sites." in the app
 | 
			
		||||
    And I should find "Accounts" in the app
 | 
			
		||||
 | 
			
		||||
    # Offline + data saver off.
 | 
			
		||||
    When I switch network connection to offline
 | 
			
		||||
    Then I should find "Your device is offline. Connect to the internet to synchronise sites." in the app
 | 
			
		||||
    And I should not find "Connect to a Wi-Fi network or turn off Data saver to synchronise sites." in the app
 | 
			
		||||
    And I should not find "Accounts" in the app
 | 
			
		||||
 | 
			
		||||
  Scenario: Sync logged in and logged out sites
 | 
			
		||||
    Given I entered the app as "student1"
 | 
			
		||||
    And I log out in the app
 | 
			
		||||
    And I entered the choice activity "Sync choice" on course "Course 1" as "student2" in the app
 | 
			
		||||
 | 
			
		||||
    # Add something offline
 | 
			
		||||
    When I switch network connection to offline
 | 
			
		||||
    And I select "Option 1" in the app
 | 
			
		||||
    And I press "Save my choice" in the app
 | 
			
		||||
    And I press "OK" in the app
 | 
			
		||||
    Then I should find "This Choice has offline data to be synchronised." in the app
 | 
			
		||||
 | 
			
		||||
    When I press the back button in the app
 | 
			
		||||
    And I press the back button in the app
 | 
			
		||||
    And I press the more menu button in the app
 | 
			
		||||
    And I press "App settings" in the app
 | 
			
		||||
    And I press "Synchronisation" in the app
 | 
			
		||||
    And I switch network connection to wifi
 | 
			
		||||
    Then I should find "Accounts" in the app
 | 
			
		||||
 | 
			
		||||
    # Check synced
 | 
			
		||||
    When I press "Synchronise now" "button" in the app
 | 
			
		||||
    And I wait loading to finish in the app
 | 
			
		||||
    And I switch network connection to offline
 | 
			
		||||
    And I press the back button in the app
 | 
			
		||||
    And I entered the course "Course 1" in the app
 | 
			
		||||
    And I press "Sync choice" in the app
 | 
			
		||||
    Then I should not find "This Choice has offline data to be synchronised." in the app
 | 
			
		||||
 | 
			
		||||
    # Test log in to sync
 | 
			
		||||
    When I press the back button in the app
 | 
			
		||||
    And I press the back button in the app
 | 
			
		||||
    And I press the more menu button in the app
 | 
			
		||||
    And I press "App settings" in the app
 | 
			
		||||
    And I press "Synchronisation" in the app
 | 
			
		||||
    And I switch network connection to wifi
 | 
			
		||||
    Then I should find "Accounts" in the app
 | 
			
		||||
    And I should find "Log in to synchronise" in the app
 | 
			
		||||
 | 
			
		||||
    When I press "Log in" in the app
 | 
			
		||||
    Then I should find "Reconnect" in the app
 | 
			
		||||
 | 
			
		||||
    When I set the field "Password" to "student1" in the app
 | 
			
		||||
    And I press "Log in" in the app
 | 
			
		||||
    And I press the more menu button in the app
 | 
			
		||||
    And I press "App settings" in the app
 | 
			
		||||
    And I press "Synchronisation" in the app
 | 
			
		||||
    Then I should not find "Log in to synchronise" in the app
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user