Skip to content

Commit

Permalink
Add E2E tests to ensure non-admin users can log to wp-admin with no e…
Browse files Browse the repository at this point in the history
…rrors (#10374)

Co-authored-by: Eduardo Umpierre <[email protected]>
  • Loading branch information
allie500 and eduardoumpierre authored Feb 18, 2025
1 parent ad9e840 commit b1c8328
Show file tree
Hide file tree
Showing 9 changed files with 208 additions and 311 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Significance: patch
Type: dev

Add new E2E tests to make sure a non-admin user, such as an editor, can access the wp-admin without errors.
302 changes: 0 additions & 302 deletions tests/e2e/config/default.json

This file was deleted.

5 changes: 5 additions & 0 deletions tests/e2e/config/default.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@ export const config = {
guest: {
email: '[email protected]',
},
editor: {
username: 'editor',
password: 'password',
email: '[email protected]',
},
},
products: {
cap: {
Expand Down
27 changes: 27 additions & 0 deletions tests/e2e/config/users.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"users": {
"admin": {
"username": "admin",
"password": "password",
"email": "[email protected]"
},
"customer": {
"username": "customer",
"password": "password",
"email": "[email protected]"
},
"subscriptions-customer": {
"username": "subscriptions-customer",
"password": "password",
"email": "[email protected]"
},
"guest": {
"email": "[email protected]"
},
"editor": {
"username": "editor",
"password": "password",
"email": "[email protected]"
}
}
}
20 changes: 13 additions & 7 deletions tests/e2e/env/setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,16 @@ handle_permissions() {

# Variables
BLOG_ID=${E2E_BLOG_ID-111}
WC_GUEST_EMAIL=$(<"$DEFAULT_CONFIG_JSON_PATH" jq -r '.users.guest.email')
WC_CUSTOMER_EMAIL=$(<"$DEFAULT_CONFIG_JSON_PATH" jq -r '.users.customer.email')
WC_CUSTOMER_USERNAME=$(<"$DEFAULT_CONFIG_JSON_PATH" jq -r '.users.customer.username')
WC_CUSTOMER_PASSWORD=$(<"$DEFAULT_CONFIG_JSON_PATH" jq -r '.users.customer.password')
WP_ADMIN=$(<"$DEFAULT_CONFIG_JSON_PATH" jq -r '.users.admin.username')
WP_ADMIN_PASSWORD=$(<"$DEFAULT_CONFIG_JSON_PATH" jq -r '.users.admin.password')
WP_ADMIN_EMAIL=$(<"$DEFAULT_CONFIG_JSON_PATH" jq -r '.users.admin.email')
WC_GUEST_EMAIL=$(<"$USERS_CONFIG_JSON_PATH" jq -r '.users.guest.email')
WC_CUSTOMER_EMAIL=$(<"$USERS_CONFIG_JSON_PATH" jq -r '.users.customer.email')
WC_CUSTOMER_USERNAME=$(<"$USERS_CONFIG_JSON_PATH" jq -r '.users.customer.username')
WC_CUSTOMER_PASSWORD=$(<"$USERS_CONFIG_JSON_PATH" jq -r '.users.customer.password')
WP_ADMIN=$(<"$USERS_CONFIG_JSON_PATH" jq -r '.users.admin.username')
WP_ADMIN_PASSWORD=$(<"$USERS_CONFIG_JSON_PATH" jq -r '.users.admin.password')
WP_ADMIN_EMAIL=$(<"$USERS_CONFIG_JSON_PATH" jq -r '.users.admin.email')
WP_EDITOR=$(<"$USERS_CONFIG_JSON_PATH" jq -r '.users.editor.username')
WP_EDITOR_PASSWORD=$(<"$USERS_CONFIG_JSON_PATH" jq -r '.users.editor.password')
WP_EDITOR_EMAIL=$(<"$USERS_CONFIG_JSON_PATH" jq -r '.users.editor.email')
SITE_TITLE="WooPayments E2E site"
SITE_URL=$WP_URL

Expand Down Expand Up @@ -270,6 +273,9 @@ cli wp user delete "$WC_GUEST_EMAIL" --yes
echo "Adding customer account ..."
cli wp user create "$WC_CUSTOMER_USERNAME" "$WC_CUSTOMER_EMAIL" --role=customer --user_pass="$WC_CUSTOMER_PASSWORD"

echo "Adding editor account ..."
cli wp user create "$WP_EDITOR" "$WP_EDITOR_EMAIL" --role=editor --user_pass="$WP_EDITOR_PASSWORD"

# TODO: Build a zip and use it to install plugin to make sure production build is under test.
if [[ "$WCPAY_USE_BUILD_ARTIFACT" = true ]]; then
echo "Creating WooPayments zip file from GitHub artifact..."
Expand Down
2 changes: 1 addition & 1 deletion tests/e2e/env/shared.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export SERVER_CONTAINER="transact_platform_server_wordpress_e2e"
export DEV_TOOLS_DIR="wcp-dev-tools-e2e"
export DEV_TOOLS_PATH="$E2E_ROOT/deps/$DEV_TOOLS_DIR"
export CLIENT_CONTAINER="wcp_e2e_wordpress"
export DEFAULT_CONFIG_JSON_PATH="$E2E_ROOT/config/default.json"
export USERS_CONFIG_JSON_PATH="$E2E_ROOT/config/users.json"

step() {
echo
Expand Down
Loading

0 comments on commit b1c8328

Please sign in to comment.