mirror of
https://github.com/Frooodle/Stirling-PDF.git
synced 2026-03-04 02:20:19 +01:00
78 lines
3.4 KiB
Gherkin
78 lines
3.4 KiB
Gherkin
@jwt @auth @admin_settings
|
|
Feature: Admin Settings API
|
|
|
|
Tests for the admin settings REST API endpoints, which expose application
|
|
configuration values to authenticated admins.
|
|
|
|
All endpoints require ROLE_ADMIN. Non-admin / unauthenticated requests must
|
|
receive 401 or 403.
|
|
|
|
Admin credentials: username=admin, password=stirling
|
|
|
|
# =========================================================================
|
|
# GET ALL SETTINGS
|
|
# =========================================================================
|
|
|
|
@positive
|
|
Scenario: Admin can retrieve all application settings
|
|
Given I am logged in as admin
|
|
When I send a GET request to "/api/v1/admin/settings" with JWT authentication
|
|
Then the response status code should be 200
|
|
And the response body should not be empty
|
|
|
|
@negative
|
|
Scenario: Unauthenticated request to settings returns 401
|
|
When I send a GET request to "/api/v1/admin/settings" with no authentication
|
|
Then the response status code should be 401
|
|
|
|
# =========================================================================
|
|
# GET SETTINGS DELTA
|
|
# =========================================================================
|
|
|
|
@positive
|
|
Scenario: Admin can retrieve the settings delta (changed values)
|
|
Given I am logged in as admin
|
|
When I send a GET request to "/api/v1/admin/settings/delta" with JWT authentication
|
|
Then the response status code should be 200
|
|
|
|
@negative
|
|
Scenario: Unauthenticated request to settings delta returns 401
|
|
When I send a GET request to "/api/v1/admin/settings/delta" with no authentication
|
|
Then the response status code should be 401
|
|
|
|
# =========================================================================
|
|
# GET SETTINGS BY SECTION
|
|
# =========================================================================
|
|
|
|
@positive
|
|
Scenario: Admin can retrieve settings for the system section
|
|
Given I am logged in as admin
|
|
When I send a GET request to "/api/v1/admin/settings/section/system" with JWT authentication
|
|
Then the response status code should be one of "200, 404"
|
|
|
|
@positive
|
|
Scenario: Admin can retrieve settings for the security section
|
|
Given I am logged in as admin
|
|
When I send a GET request to "/api/v1/admin/settings/section/security" with JWT authentication
|
|
Then the response status code should be one of "200, 404"
|
|
|
|
@negative
|
|
Scenario: Unauthenticated request to settings section returns 401
|
|
When I send a GET request to "/api/v1/admin/settings/section/system" with no authentication
|
|
Then the response status code should be 401
|
|
|
|
# =========================================================================
|
|
# GET SINGLE SETTING BY KEY
|
|
# =========================================================================
|
|
|
|
@positive
|
|
Scenario: Admin can retrieve a single setting by key
|
|
Given I am logged in as admin
|
|
When I send a GET request to "/api/v1/admin/settings/key/system.defaultLocale" with JWT authentication
|
|
Then the response status code should be one of "200, 404"
|
|
|
|
@negative
|
|
Scenario: Unauthenticated request to settings key returns 401
|
|
When I send a GET request to "/api/v1/admin/settings/key/system.defaultLocale" with no authentication
|
|
Then the response status code should be 401
|