From 5cf21a3c27e92904e073d25f5118f9c8206ee7ef Mon Sep 17 00:00:00 2001 From: Mihail Geshoski Date: Tue, 26 May 2020 11:40:41 +0800 Subject: [PATCH] MDL-67813 repository_contentbank: Add behat tests --- .../tests/behat/search_content.feature | 121 ++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 repository/contentbank/tests/behat/search_content.feature diff --git a/repository/contentbank/tests/behat/search_content.feature b/repository/contentbank/tests/behat/search_content.feature new file mode 100644 index 00000000000..a975751a81d --- /dev/null +++ b/repository/contentbank/tests/behat/search_content.feature @@ -0,0 +1,121 @@ +@repository @repository_contentbank @javascript +Feature: Search content bank files using the content bank files repository + In order to find the content I need to select in the file picker + As a user + I need to be able to search in the content bank files repository by content name + + Background: + Given the following "users" exist: + | username | firstname | lastname | email | + | student | Student | 1 | student@example.com | + | teacher | Teacher | 1 | teacher1@example.com | + And the following "categories" exist: + | name | category | idnumber | + | Category1 | 0 | CAT1 | + | Category2 | 0 | CAT2 | + And the following "courses" exist: + | fullname | shortname | category | + | Course1 | C1 | CAT1 | + | Course2 | C2 | CAT2 | + And the following "contentbank content" exist: + | contextlevel | reference | contenttype | user | contentname | filepath | + | Course | C1 | contenttype_h5p | admin | coursecontent1.h5p | /h5p/tests/fixtures/filltheblanks.h5p | + | Course | C2 | contenttype_h5p | admin | coursecontent2.h5p | /h5p/tests/fixtures/find-the-words.h5p | + | Category | CAT1 | contenttype_h5p | admin | categorycontent1.h5p | /h5p/tests/fixtures/ipsums.h5p | + | Category | CAT2 | contenttype_h5p | admin | categorycontent2.h5p | /h5p/tests/fixtures/multiple-choice-2-6.h5p | + | System | | contenttype_h5p | admin | systemcontent.h5p | /h5p/tests/fixtures/greeting-card-887.h5p | + And the following "activities" exist: + | activity | name | intro | introformat | course | idnumber | + | folder | Folder | FolderDesc | 1 | C1 | folder | + And the following "course enrolments" exist: + | user | course | role | + | teacher | C1 | editingteacher | + + Scenario: User can see a search field and reset search button in the content bank files repository + Given I log in as "admin" + And I am on "Course1" course homepage + And I follow "Folder" + And I click on "Edit" "button" + And I click on "Add..." "button" + And I should see "Content bank" in the ".fp-repo-area" "css_element" + When I select "Content bank" repository in file picker + Then "Search repository" "field" should be visible + And "Refresh" "link" should be visible + + Scenario: User can see search results when there is content that matches the search criteria + Given I log in as "admin" + And I am on "Course1" course homepage + And I follow "Folder" + And I click on "Edit" "button" + And I click on "Add..." "button" + And I should see "Content bank" in the ".fp-repo-area" "css_element" + And I select "Content bank" repository in file picker + And I set the field "Search repository" to "content" + When I press enter + Then I should see "5" elements in repository content area + And I should see "systemcontent.h5p" "file" in repository content area + And I should see "categorycontent1.h5p" "file" in repository content area + And I should see "categorycontent2.h5p" "file" in repository content area + And I should see "coursecontent1.h5p" "file" in repository content area + And I should see "coursecontent2.h5p" "file" in repository content area + + Scenario: User can see search results when there is content that matches the search criteria ignoring case sensitivity + Given I log in as "admin" + And I am on "Course1" course homepage + And I follow "Folder" + And I click on "Edit" "button" + And I click on "Add..." "button" + And I should see "Content bank" in the ".fp-repo-area" "css_element" + And I select "Content bank" repository in file picker + And I set the field "Search repository" to "COURSE" + When I press enter + Then I should see "2" elements in repository content area + And I should see "coursecontent1.h5p" "file" in repository content area + And I should see "coursecontent2.h5p" "file" in repository content area + + Scenario: User can not see any search results when there is not a content that matches the search criteria + Given I log in as "admin" + And I am on "Course1" course homepage + And I follow "Folder" + And I click on "Edit" "button" + And I click on "Add..." "button" + And I should see "Content bank" in the ".fp-repo-area" "css_element" + And I select "Content bank" repository in file picker + And I set the field "Search repository" to "somecontent" + When I press enter + Then I should see "0" elements in repository content area + And I should see "No files available" in the ".filepicker .fp-content" "css_element" + + Scenario: User can reset search criteria and see all content displayed prior the search action + Given I log in as "admin" + And I am on "Course1" course homepage + And I follow "Folder" + And I click on "Edit" "button" + And I click on "Add..." "button" + And I should see "Content bank" in the ".fp-repo-area" "css_element" + And I select "Content bank" repository in file picker + And I should see "1" elements in repository content area + And I should see "coursecontent1.h5p" "file" in repository content area + And I set the field "Search repository" to "category" + And I press enter + And I should see "2" elements in repository content area + And I should see "categorycontent1.h5p" "file" in repository content area + And I should see "categorycontent2.h5p" "file" in repository content area + When I click on "Refresh" "link" + Then I should see "1" elements in repository content area + And I should see "coursecontent1.h5p" "file" in repository content area + + Scenario: Editing teacher can see search results when the content is available to him and matches the search criteria + Given I log in as "teacher" + And I am on "Course1" course homepage + And I follow "Folder" + And I click on "Edit" "button" + And I click on "Add..." "button" + And I should see "Content bank" in the ".fp-repo-area" "css_element" + And I select "Content bank" repository in file picker + And I set the field "Search repository" to "content" + When I press enter + Then I should see "3" elements in repository content area + And I should see "coursecontent1.h5p" "file" in repository content area + And I should see "categorycontent1.h5p" "file" in repository content area + And I should see "systemcontent.h5p" "file" in repository content area -- 2.43.0