Skip to content

Commit

Permalink
MNT New Behat tests for toast messages
Browse files Browse the repository at this point in the history
  • Loading branch information
Sabina Talipova committed Nov 6, 2023
1 parent 8e6ffcf commit 8388b3e
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 0 deletions.
5 changes: 5 additions & 0 deletions code/LeftAndMain.php
Original file line number Diff line number Diff line change
Expand Up @@ -864,6 +864,11 @@ public function redirect($url, $code = 302)
if ($this->getRequest()->isAjax()) {
$response = $this->getResponse();
$response->addHeader('X-ControllerURL', $url);

/** Since in some cases we need to pass additional headers,
* but we lose these headers (X-Pjax and X-Status) when we set new response
* we should explicitly add them again from received request.
**/
if ($this->getRequest()->getHeader('X-Pjax') && !$response->getHeader('X-Pjax')) {
$response->addHeader('X-Pjax', $this->getRequest()->getHeader('X-Pjax'));
}
Expand Down
65 changes: 65 additions & 0 deletions tests/behat/features/gridfield-toast-messages.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
Feature: Show toast messages
As an author
I want to see toast message in the CMS when I create, edit, delete, publish, unpublish, archive a record

Background:
Given the "Company" "Company A" with "Category"="Other"
And the "Company" "Company B" with "Category"="Other"
And the "Company" "Company C" with "Category"="Other"
And the "Employee" "Employee A" with "Company"="1"
And the "Employee" "Employee B" with "Company"="1"
And the "Employee" "Employee C" with "Company"="1"
And the "group" "EDITOR" has permissions "Access to 'Pages' section" and "Access to 'Test ModelAdmin' section" and "TEST_DATAOBJECT_EDIT"
And I am logged in as a member of "EDITOR" group
And I go to "/admin/test"

Scenario: I can see toast message when I successfully create or publish a record
When I press the "Add Company" button
And I fill in "Name" with "My Company"
And I press the "Create" button
Then I should see a "Saved Company "My Company" successfully" success toast
And I fill in "Name" with "My New Company"
And I wait for 5 seconds
And I press the "Publish" button
Then I should see a "Published Company "My New Company"" success toast

Scenario: I can see toast message when I successfully unpublish and archive a record
When I click "Company B" in the "#Form_EditForm" element
And I press the "Publish" button
Then I should see a "Published Company "Company B"" success toast
And I wait for 5 seconds
And I click "More options" in the "#ActionMenus" element
And I press the "Unpublish" button, confirming the dialog
Then I should see a "Unpublished Company "Company B"" success toast
And I click "More options" in the "#ActionMenus" element
And I press the "Archive" button, confirming the dialog
And I should not see "Validation Error"
And I should see a "Archived Company "Company B"" success toast
And I should not see "Company B" in the "#Form_EditForm" element

Scenario: I can see toast message when I successfully delete a record
When I click "Company A" in the "#Form_EditForm" element
And I click "Employees" in the ".ui-tabs-nav" element
Then I should see "Employee A" in the "#Form_ItemEditForm_Employees" element
And I click "Employee A" in the "#Form_ItemEditForm_Employees" element
And I press the "Delete" button, confirming the dialog
Then I should see a "Deleted Employee "Employee A"" success toast
Then I should not see "Employee A" in the "#Form_ItemEditForm_Employees" element

Scenario: I can see toast message when I have validation errors
When I click "Company C" in the "#Form_EditForm" element
And I fill in "Name" with ""
And I press the "Save" button
Then I should see "Validation Error"
And I fill in "Name" with "New Company C"
And I press the "Save" button
Then I should see a "Saved Company "New Company C" successfully" success toast

Scenario: I can see toast message when I have validation errors when I edit a nested record
When I click "Company A" in the "#Form_EditForm" element
And I click "Employees" in the ".ui-tabs-nav" element
Then I should see "Employee B" in the "#Form_ItemEditForm_Employees" element
And I click "Employee B" in the "#Form_ItemEditForm_Employees" element
And I fill in "Name" with ""
And I press the "Save" button
Then I should see "Validation Error"

0 comments on commit 8388b3e

Please sign in to comment.