132 lines
6.9 KiB
Gherkin
132 lines
6.9 KiB
Gherkin
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
Feature: theming
|
|
|
|
Background:
|
|
Given user "user0" exists
|
|
|
|
Scenario: themed stylesheets are available for users
|
|
Given As an "user0"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/theme/default.css"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/theme/light.css"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/theme/dark.css"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/theme/light-highcontrast.css"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/theme/dark-highcontrast.css"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/theme/opendyslexic.css"
|
|
Then the HTTP status code should be "200"
|
|
|
|
Scenario: themed stylesheets are available for guests
|
|
Given As an "anonymous"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/theme/default.css"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/theme/light.css"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/theme/dark.css"
|
|
Then the HTTP status code should be "200"
|
|
# Themes that can not be explicitly set by a guest could have been
|
|
# globally set too through "enforce_theme".
|
|
When sending "GET" with exact url to "/index.php/apps/theming/theme/light-highcontrast.css"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/theme/dark-highcontrast.css"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/theme/opendyslexic.css"
|
|
Then the HTTP status code should be "200"
|
|
|
|
Scenario: themed stylesheets are available for disabled users
|
|
Given As an "admin"
|
|
And assure user "user0" is disabled
|
|
And As an "user0"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/theme/default.css"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/theme/light.css"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/theme/dark.css"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/theme/light-highcontrast.css"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/theme/dark-highcontrast.css"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/theme/opendyslexic.css"
|
|
Then the HTTP status code should be "200"
|
|
|
|
Scenario: themed images are available for users
|
|
Given Logging in using web as "admin"
|
|
And logged in admin uploads theming image for "background" from file "data/clouds.jpg"
|
|
And logged in admin uploads theming image for "logo" from file "data/coloured-pattern-non-square.png"
|
|
And logged in admin uploads theming image for "logoheader" from file "data/coloured-pattern-non-square.png"
|
|
And As an "user0"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/image/background"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/image/logo"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/image/logoheader"
|
|
Then the HTTP status code should be "200"
|
|
|
|
Scenario: themed images are available for guests
|
|
Given Logging in using web as "admin"
|
|
And logged in admin uploads theming image for "background" from file "data/clouds.jpg"
|
|
And logged in admin uploads theming image for "logo" from file "data/coloured-pattern-non-square.png"
|
|
And logged in admin uploads theming image for "logoheader" from file "data/coloured-pattern-non-square.png"
|
|
And As an "anonymous"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/image/background"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/image/logo"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/image/logoheader"
|
|
Then the HTTP status code should be "200"
|
|
|
|
Scenario: themed images are available for disabled users
|
|
Given Logging in using web as "admin"
|
|
And logged in admin uploads theming image for "background" from file "data/clouds.jpg"
|
|
And logged in admin uploads theming image for "logo" from file "data/coloured-pattern-non-square.png"
|
|
And logged in admin uploads theming image for "logoheader" from file "data/coloured-pattern-non-square.png"
|
|
And As an "admin"
|
|
And assure user "user0" is disabled
|
|
And As an "user0"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/image/background"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/image/logo"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/image/logoheader"
|
|
Then the HTTP status code should be "200"
|
|
|
|
Scenario: themed icons are available for users
|
|
Given As an "user0"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/favicon"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/icon"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/favicon/dashboard"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/icon/dashboard"
|
|
Then the HTTP status code should be "200"
|
|
|
|
Scenario: themed icons are available for guests
|
|
Given As an "anonymous"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/favicon"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/icon"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/favicon/dashboard"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/icon/dashboard"
|
|
Then the HTTP status code should be "200"
|
|
|
|
Scenario: themed icons are available for disabled users
|
|
Given As an "admin"
|
|
And assure user "user0" is disabled
|
|
And As an "user0"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/favicon"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/icon"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/favicon/dashboard"
|
|
Then the HTTP status code should be "200"
|
|
When sending "GET" with exact url to "/index.php/apps/theming/icon/dashboard"
|
|
Then the HTTP status code should be "200"
|