209 lines
		
	
	
		
			9.2 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
	
	
			
		
		
	
	
			209 lines
		
	
	
		
			9.2 KiB
		
	
	
	
		
			Gherkin
		
	
	
	
	
	
@mod @mod_data @app @javascript
 | 
						|
Feature: Users can manage entries in database activities
 | 
						|
  In order to populate databases
 | 
						|
  As a user
 | 
						|
  I need to add and manage entries to databases
 | 
						|
 | 
						|
  Background:
 | 
						|
    Given the following "users" exist:
 | 
						|
    | username | firstname | lastname | email |
 | 
						|
    | student1 | Student | 1 | student1@example.com |
 | 
						|
    | student2 | Student | 2 | student2@example.com |
 | 
						|
    | teacher1 | Teacher | 1 | teacher1@example.com |
 | 
						|
    And the following "courses" exist:
 | 
						|
    | fullname | shortname | category |
 | 
						|
    | Course 1 | C1 | 0 |
 | 
						|
    And the following "course enrolments" exist:
 | 
						|
    | user | course | role |
 | 
						|
    | teacher1 | C1 | editingteacher |
 | 
						|
    | student1 | C1 | student |
 | 
						|
    | student2 | C1 | student |
 | 
						|
    And the following "activities" exist:
 | 
						|
    | activity | name      | intro        | course | idnumber |
 | 
						|
    | data     | Web links | Useful links | C1     | data1    |
 | 
						|
    And the following "mod_data > fields" exist:
 | 
						|
    | database | type | name        | description      |
 | 
						|
    | data1    | text | URL         | URL link         |
 | 
						|
    | data1    | text | Description | Link description |
 | 
						|
 | 
						|
  Scenario: Create entry
 | 
						|
    Given I entered the data activity "Web links" on course "Course 1" as "student1" in the app
 | 
						|
    Then I should find "No entries yet" in the app
 | 
						|
    When I press "Add entries" in the app
 | 
						|
    And I set the following fields to these values in the app:
 | 
						|
      | URL | https://moodle.org/ |
 | 
						|
      | Description | Moodle community site |
 | 
						|
    And I press "Save" near "Web links" in the app
 | 
						|
    Then I should find "https://moodle.org/" in the app
 | 
						|
    And I should find "Moodle community site" in the app
 | 
						|
 | 
						|
  Scenario: Browse entry
 | 
						|
    Given I entered the data activity "Web links" on course "Course 1" as "student1" in the app
 | 
						|
 | 
						|
    # TODO Create and use a generator for database entries.
 | 
						|
    When I press "Add entries" in the app
 | 
						|
    And I set the following fields to these values in the app:
 | 
						|
      | URL | https://moodle.org/ |
 | 
						|
      | Description | Moodle community site |
 | 
						|
    And I press "Save" near "Web links" in the app
 | 
						|
    And I entered the data activity "Web links" on course "Course 1" as "student2" in the app
 | 
						|
    And I press "Add entries" in the app
 | 
						|
    And I set the following fields to these values in the app:
 | 
						|
      | URL | https://moodlecloud.com/ |
 | 
						|
      | Description | Moodle Cloud |
 | 
						|
    And I press "Save" near "Web links" in the app
 | 
						|
    And I press "More" near "Moodle community site" in the app
 | 
						|
    Then I should find "Moodle community site" in the app
 | 
						|
    And I should be able to press "Previous" in the app
 | 
						|
    But I should not be able to press "Next" in the app
 | 
						|
 | 
						|
    When I press "Previous" in the app
 | 
						|
    Then I should find "Moodle Cloud" in the app
 | 
						|
    And I should be able to press "Next" in the app
 | 
						|
    But I should not be able to press "Previous" in the app
 | 
						|
 | 
						|
    When I press "Next" in the app
 | 
						|
    Then I should find "Moodle community site" in the app
 | 
						|
    But I should not find "Moodle Cloud" in the app
 | 
						|
 | 
						|
    When I press the back button in the app
 | 
						|
    And I should find "Moodle community site" in the app
 | 
						|
    And I should find "Moodle Cloud" in the app
 | 
						|
 | 
						|
  Scenario: Students can not edit or delete other user's entries from list and single view in the app
 | 
						|
    Given I entered the data activity "Web links" on course "Course 1" as "student1" in the app
 | 
						|
    And I press "Add entries" in the app
 | 
						|
    And I set the following fields to these values in the app:
 | 
						|
      | URL | https://moodle.org/ |
 | 
						|
      | Description | Moodle community site |
 | 
						|
    And I press "Save" near "Web links" in the app
 | 
						|
    And I entered the course "Course 1" as "student2" in the app
 | 
						|
    When I press "Web links" near "General" in the app
 | 
						|
    Then "Edit" "link" should not exist
 | 
						|
    And "Delete" "link" should not exist
 | 
						|
    And I press "More" in the app
 | 
						|
    And "Edit" "link" should not exist
 | 
						|
    And "Delete" "link" should not exist
 | 
						|
 | 
						|
  Scenario: Delete entry (student) & Update entry (student)
 | 
						|
    Given I entered the data activity "Web links" on course "Course 1" as "student1" in the app
 | 
						|
    And I press "Add entries" in the app
 | 
						|
    And I set the following fields to these values in the app:
 | 
						|
      | URL | https://moodle.org/ |
 | 
						|
      | Description | Moodle community site |
 | 
						|
    And I press "Save" near "Web links" in the app
 | 
						|
 | 
						|
    # Edit the entry from list view.
 | 
						|
    When I press "Edit" in the app
 | 
						|
    And I set the following fields to these values in the app:
 | 
						|
      | URL | https://moodlecloud.com/ |
 | 
						|
      | Description | Moodle Cloud |
 | 
						|
    And I press "Save" near "Web links" in the app
 | 
						|
    Then I should not find "https://moodle.org/" in the app
 | 
						|
    And I should not find "Moodle community site" in the app
 | 
						|
    And I should find "https://moodlecloud.com/" in the app
 | 
						|
    And I should find "Moodle Cloud" in the app
 | 
						|
 | 
						|
    # Delete the entry from list view.
 | 
						|
    When I press "Delete" in the app
 | 
						|
    Then I should find "Are you sure you want to delete this entry?" in the app
 | 
						|
    And I press "Cancel" in the app
 | 
						|
    And I should find "Moodle Cloud" in the app
 | 
						|
    When I press "Delete" in the app
 | 
						|
    Then I should find "Are you sure you want to delete this entry?" in the app
 | 
						|
    And I press "Delete" in the app
 | 
						|
    And I should not find "Moodle Cloud" in the app
 | 
						|
 | 
						|
    # Repeat again with single view.
 | 
						|
    Given I press "Add entries" in the app
 | 
						|
    And I set the following fields to these values in the app:
 | 
						|
      | URL | https://moodle.org/ |
 | 
						|
      | Description | Moodle community site |
 | 
						|
    And I press "Save" near "Web links" in the app
 | 
						|
 | 
						|
    # Edit the entry from single view.
 | 
						|
    When I press "More" in the app
 | 
						|
    And I press "Edit" in the app
 | 
						|
    And I set the following fields to these values in the app:
 | 
						|
      | URL | https://moodlecloud.com/ |
 | 
						|
      | Description | Moodle Cloud |
 | 
						|
    And I press "Save" near "Web links" in the app
 | 
						|
    Then I should not find "https://moodle.org/" in the app
 | 
						|
    And I should not find "Moodle community site" in the app
 | 
						|
    And I should find "https://moodlecloud.com/" in the app
 | 
						|
    And I should find "Moodle Cloud" in the app
 | 
						|
 | 
						|
    # Delete the entry from list view.
 | 
						|
    When I press "Delete" in the app
 | 
						|
    Then I should find "Are you sure you want to delete this entry?" in the app
 | 
						|
    And I press "Cancel" in the app
 | 
						|
    And I should find "Moodle Cloud" in the app
 | 
						|
    When I press "Delete" in the app
 | 
						|
    Then I should find "Are you sure you want to delete this entry?" in the app
 | 
						|
    And I press "Delete" in the app
 | 
						|
    And I should not find "Moodle Cloud" in the app
 | 
						|
    And I should find "No entries yet" in the app
 | 
						|
 | 
						|
  Scenario: Delete entry (teacher) & Update entry (teacher)
 | 
						|
    Given I entered the data activity "Web links" on course "Course 1" as "student1" in the app
 | 
						|
    And I press "Add entries" in the app
 | 
						|
    And I set the following fields to these values in the app:
 | 
						|
      | URL | https://moodle.org/ |
 | 
						|
      | Description | Moodle community site |
 | 
						|
    And I press "Save" near "Web links" in the app
 | 
						|
    And I press "Add entries" in the app
 | 
						|
    And I set the following fields to these values in the app:
 | 
						|
      | URL | https://telegram.org/ |
 | 
						|
      | Description | Telegram |
 | 
						|
    And I press "Save" near "Web links" in the app
 | 
						|
 | 
						|
    And I entered the course "Course 1" as "teacher1" in the app
 | 
						|
    When I press "Web links" near "General" in the app
 | 
						|
    Then I should find "https://moodle.org/" in the app
 | 
						|
    And I should find "Moodle community site" in the app
 | 
						|
 | 
						|
    # Edit the entry from list view.
 | 
						|
    When I press "Edit" near "Moodle community site" in the app
 | 
						|
    And I set the following fields to these values in the app:
 | 
						|
      | URL | https://moodlecloud.com/ |
 | 
						|
      | Description | Moodle Cloud |
 | 
						|
    And I press "Save" near "Web links" in the app
 | 
						|
    Then I should not find "https://moodle.org/" in the app
 | 
						|
    And I should not find "Moodle community site" in the app
 | 
						|
    And I should find "https://moodlecloud.com/" in the app
 | 
						|
    And I should find "Moodle Cloud" in the app
 | 
						|
 | 
						|
    # Delete the entry from list view.
 | 
						|
    When I press "Delete" near "Moodle Cloud" in the app
 | 
						|
    Then I should find "Are you sure you want to delete this entry?" in the app
 | 
						|
    And I press "Cancel" in the app
 | 
						|
    And I should find "Moodle Cloud" in the app
 | 
						|
    When I press "Delete" near "Moodle Cloud" in the app
 | 
						|
    Then I should find "Are you sure you want to delete this entry?" in the app
 | 
						|
    And I press "Delete" in the app
 | 
						|
    And I should not find "Moodle Cloud" in the app
 | 
						|
 | 
						|
    # Edit the entry from single view.
 | 
						|
    When I press "More" in the app
 | 
						|
    And I should find "https://telegram.org/" in the app
 | 
						|
    And I should find "Telegram" in the app
 | 
						|
    And I press "Edit" in the app
 | 
						|
    And I set the following fields to these values in the app:
 | 
						|
      | URL | https://moodlecloud.com/ |
 | 
						|
      | Description | Moodle Cloud |
 | 
						|
    And I press "Save" near "Web links" in the app
 | 
						|
    Then I should not find "https://telegram.org/" in the app
 | 
						|
    And I should not find "Telegram" in the app
 | 
						|
    And I should find "https://moodlecloud.com/" in the app
 | 
						|
    And I should find "Moodle Cloud" in the app
 | 
						|
 | 
						|
    # Delete the entry from single view.
 | 
						|
    When I press "Delete" in the app
 | 
						|
    Then I should find "Are you sure you want to delete this entry?" in the app
 | 
						|
    And I press "Cancel" in the app
 | 
						|
    And I should find "Moodle Cloud" in the app
 | 
						|
    When I press "Delete" in the app
 | 
						|
    Then I should find "Are you sure you want to delete this entry?" in the app
 | 
						|
    And I press "Delete" in the app
 | 
						|
    And I should not find "Moodle Cloud" in the app
 |