Skip to content

Commit

Permalink
tests: add api tests for changing system language using graph api (#7817
Browse files Browse the repository at this point in the history
)
  • Loading branch information
SwikritiT committed Nov 28, 2023
1 parent 2811a01 commit 580e8ae
Show file tree
Hide file tree
Showing 8 changed files with 85 additions and 14 deletions.
22 changes: 22 additions & 0 deletions tests/TestHelpers/GraphHelper.php
Original file line number Diff line number Diff line change
Expand Up @@ -1470,4 +1470,26 @@ public static function getShareMountId(
. " Cannot find share mountpoint id of '$path' for user '$user'"
);
}

/**
* @param string $baseUrl
* @param string $xRequestId
* @param string $user
* @param string $password
* @param string $language
*
* @return ResponseInterface
* @throws GuzzleException
*/
public static function switchSystemLanguage(
string $baseUrl,
string $xRequestId,
string $user,
string $password,
string $language
): ResponseInterface {
$fullUrl = self::getFullUrl($baseUrl, 'me');
$payload['preferredLanguage'] = $language;
return HttpRequestHelper::sendRequest($fullUrl, $xRequestId, 'PATCH', $user, $password, null, \json_encode($payload));
}
}
2 changes: 1 addition & 1 deletion tests/acceptance/features/apiAntivirus/antivirus.feature
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,7 @@ Feature: antivirus

@issue-enterprise-5706
Scenario Outline: upload a file with virus and get notification in different languages
Given user "Alice" has switched the system language to "<language>"
Given user "Alice" has switched the system language to "<language>" using the Graph API
And using <dav-path-version> DAV path
When user "Alice" uploads file "filesForUpload/filesWithVirus/eicar.com" to "/aFileWithVirus.txt" using the WebDAV API
Then the HTTP status code should be "201"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ Feature: Deprovisioning notification

Scenario Outline: get a deprovisioning notification in various languages
Given the administrator has created a deprovisioning notification
And user "Alice" has switched the system language to "<language>"
And user "Alice" has switched the system language to "<language>" using the Graph API
When user "Alice" lists all notifications
Then the HTTP status code should be "200"
And the JSON response should contain a notification message with the subject "<subject>" and the message-details should match
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,8 @@ Feature: Email notification
And group "group1" has been created
And user "Brian" has been added to group "group1"
And user "Carol" has been added to group "group1"
And user "Brian" has switched the system language to "es"
And user "Carol" has switched the system language to "de"
And user "Brian" has switched the system language to "es" using the Graph API
And user "Carol" has switched the system language to "de" using the Graph API
And user "Alice" has created folder "/HelloWorld"
When user "Alice" shares folder "HelloWorld" with group "group1" using the sharing API
Then the HTTP status code should be "200"
Expand Down Expand Up @@ -107,8 +107,8 @@ Feature: Email notification
And group "group1" has been created
And user "Brian" has been added to group "group1"
And user "Carol" has been added to group "group1"
And user "Brian" has switched the system language to "es"
And user "Carol" has switched the system language to "de"
And user "Brian" has switched the system language to "es" using the Graph API
And user "Carol" has switched the system language to "de" using the Graph API
And user "Alice" has uploaded file with content "hello world" to "text.txt"
When user "Alice" shares file "text.txt" with group "group1" using the sharing API
Then the HTTP status code should be "200"
Expand Down Expand Up @@ -137,8 +137,8 @@ Feature: Email notification
And group "group1" has been created
And user "Brian" has been added to group "group1"
And user "Carol" has been added to group "group1"
And user "Brian" has switched the system language to "es"
And user "Carol" has switched the system language to "de"
And user "Brian" has switched the system language to "es" using the Graph API
And user "Carol" has switched the system language to "de" using the Graph API
And user "Alice" has created a space "new-space" with the default quota using the Graph API
When user "Alice" shares a space "new-space" with settings:
| shareWith | group1 |
Expand Down
10 changes: 6 additions & 4 deletions tests/acceptance/features/apiNotification/notification.feature
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ Feature: Notification


Scenario Outline: get a notification about a file share in various languages
Given user "Brian" has switched the system language to "<language>"
Given user "Brian" has switched the system language to "<language>" using the <api> API
And user "Alice" has shared entry "textfile1.txt" with user "Brian" with permissions "17"
When user "Brian" lists all notifications
Then the HTTP status code should be "200"
Expand All @@ -263,9 +263,11 @@ Feature: Notification
}
"""
Examples:
| language | subject | message |
| de | Neue Freigabe | Alice Hansen hat textfile1.txt mit Ihnen geteilt |
| es | Recurso compartido | Alice Hansen compartió textfile1.txt contigo |
| language | subject | message | api |
| de | Neue Freigabe | Alice Hansen hat textfile1.txt mit Ihnen geteilt | Graph |
| de | Neue Freigabe | Alice Hansen hat textfile1.txt mit Ihnen geteilt | settings |
| es | Recurso compartido | Alice Hansen compartió textfile1.txt contigo | Graph |
| es | Recurso compartido | Alice Hansen compartió textfile1.txt contigo | settings |

@env-config
Scenario: get a notification about a file share in default languages
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -419,7 +419,7 @@ Feature: Notification


Scenario Outline: get a notification about a space share in various languages
Given user "Brian" has switched the system language to "<language>"
Given user "Brian" has switched the system language to "<language>" using the Graph API
And user "Alice" has shared a space "notification checking" with settings:
| shareWith | Brian |
| role | editor |
Expand Down
47 changes: 47 additions & 0 deletions tests/acceptance/features/bootstrap/GraphContext.php
Original file line number Diff line number Diff line change
Expand Up @@ -2466,4 +2466,51 @@ public function userChangesTheRoleOfUserToRoleUsingTheGraphApi(string $user, str
)
);
}

/**
* @Given user :user has switched the system language to :language using the Graph API
*
* @param string $user
* @param string $language
*
* @return void
* @throws GuzzleException
*/
public function userHasSwitchedTheSystemLanguageUsingGraphApi(string $user, string $language): void {
$credentials = $this->getAdminOrUserCredentials($user);
$response = GraphHelper::switchSystemLanguage(
$this->featureContext->getBaseUrl(),
$this->featureContext->getStepLineRef(),
$credentials['username'],
$credentials['password'],
$language
);
$this->featureContext->theHTTPStatusCodeShouldBe(
200,
"Expected response status code should be 200",
$response
);
}

/**
* @When user :user switches the system language to :language using the Graph API
*
* @param string $user
* @param string $language
*
* @return void
* @throws GuzzleException
*/
public function userSwitchesTheSystemLanguageUsingGraphApi(string $user, string $language): void {
$credentials = $this->getAdminOrUserCredentials($user);
$this->featureContext->setResponse(
GraphHelper::switchSystemLanguage(
$this->featureContext->getBaseUrl(),
$this->featureContext->getStepLineRef(),
$credentials['username'],
$credentials['password'],
$language
)
);
}
}
2 changes: 1 addition & 1 deletion tests/acceptance/features/bootstrap/SettingsContext.php
Original file line number Diff line number Diff line change
Expand Up @@ -443,7 +443,7 @@ public function sendRequestToSwitchSystemLanguage(string $user, string $language
}

/**
* @Given /^user "([^"]*)" has switched the system language to "([^"]*)"$/
* @Given /^user "([^"]*)" has switched the system language to "([^"]*)" using the settings API$/
*
* @param string $user
* @param string $language
Expand Down

0 comments on commit 580e8ae

Please sign in to comment.