You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
nextcloud-server/build/integration/theming_features/theming.feature

131 lines
6.9 KiB

# 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"