test(GODT-2746): Integration tests for reporting a problem

- Add function for checking header in form-data request

Bug reports are sent with multipart/form-data, and the function parses this,
then compares the needed field with the wanted
Also, added the step definition.

- Add functions for reporting a bug with changes

Be able to report a bug by changing the value of a single field, or multiple fields through a JSON format

- Add integration tests for reporting a problem
This commit is contained in:
Gjorgji Slamkov
2023-08-30 13:42:48 +02:00
parent 44e103edd5
commit c57b52ef23
4 changed files with 138 additions and 0 deletions

View File

@ -0,0 +1,41 @@
Feature: The user reports a problem
Background:
Given there exists an account with username "[user:user]" and password "password"
Then it succeeds
When bridge starts
And the user logs in with username "[user:user]" and password "password"
And user "[user:user]" finishes syncing
Then it succeeds
Scenario: User sends a problem report without logs attached
When the user reports a bug
Then the header in the "POST" multipart request to "/core/v4/reports/bug" has "Title" set to "[Bridge] Bug - title"
And the header in the "POST" multipart request to "/core/v4/reports/bug" has "Description" set to "description"
And the header in the "POST" multipart request to "/core/v4/reports/bug" has "Username" set to "[user:user]"
Scenario: User sends a problem report with changed Title
When the user reports a bug with field "Title" set to "Testing title"
Then the header in the "POST" multipart request to "/core/v4/reports/bug" has "Title" set to "[Bridge] Bug - Testing title"
Scenario: User sends a problem report with changed Description
When the user reports a bug with field "Description" set to "There's an issue with my testing, please fix!"
Then the header in the "POST" multipart request to "/core/v4/reports/bug" has "Description" set to "There's an issue with my testing, please fix!"
Scenario: User sends a problem report with multiple details changed
When the user reports a bug with details:
"""
{
"Title": "Testing Title",
"Description": "Testing Description",
"Username": "[user:user]",
"Email": "[user:user]@[domain]",
"Client": "Apple Mail"
}
"""
Then the header in the "POST" multipart request to "/core/v4/reports/bug" has "Title" set to "[Bridge] Bug - Testing Title"
And the header in the "POST" multipart request to "/core/v4/reports/bug" has "OS" set to "osType"
And the header in the "POST" multipart request to "/core/v4/reports/bug" has "OSVersion" set to "osVersion"
And the header in the "POST" multipart request to "/core/v4/reports/bug" has "Description" set to "Testing Description"
And the header in the "POST" multipart request to "/core/v4/reports/bug" has "Username" set to "[user:user]"
And the header in the "POST" multipart request to "/core/v4/reports/bug" has "Email" set to "[user:user]@[domain]"
And the header in the "POST" multipart request to "/core/v4/reports/bug" has "Client" set to "Apple Mail"