Skip to content

Update Gitlab Pages E2E Test

Jason Zhang requested to merge jz-glpages-add-e2e into master

Description of the test

We currently only have a single test for Pages, and that test doesn't even focus on the static pages itself, it is more verifying the pipeline passes. I took that test and extended to actually verify pages actually load properly.

Description of the issue: #368335 (closed)

Test Case: https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/347669

Unfortunately Pages isn't enabled on review-app so we can not run it on package-and-qa. For now it's suggested we run it only on staging first. We have a separate issue in regards to adding it to review-app here: #369900.

Steps to run locally

Running this against staging right away will fail due to Staging missing the CSS changes in this MR. We can only verify this locally before this gets merged in.

  • In qa/specs/features/browser_ui/3_create/pages/new_static_page_spec.rb , remove only: { subdomain: :staging } on line 3. (because we want to verify it locally)

  • Run Docker Instance

  • Add to gdk.yml:

gitlab_pages:
  enabled: true
  • Run: bundle exec bin/qa Test::Instance::All <local_host_server> -- qa/specs/features/browser_ui/3_create/pages/new_static_page_spec.rb

Test should pass. image

Checklist

  • Confirm the test has a testcase: tag linking to an existing test case in the test case project.
  • Note if the test is intended to run in specific scenarios. If a scenario is new, add a link to the MR that adds the new scenario.
  • Follow the end-to-end tests style guide and best practices.
  • Use the appropriate RSpec metadata tag(s).
  • Most resources will be cleaned up via the general cleanup task. Check that is successful, or ensure resources are cleaned up in the test:
    • New resources have api_get_path and api_delete_path implemented if possible.
    • If any resource cannot be deleted in the general delete task, make sure it is ignored.
    • If any resource cannot be deleted in the general delete task, remove it in the test (e.g., in an after block).
  • Ensure that no transient bugs are hidden accidentally due to the usage of waits and reloads.
  • Verify the tags to ensure it runs on the desired test environments.
  • If this MR has a dependency on another MR, such as a GitLab QA MR, specify the order in which the MRs should be merged.
  • (If applicable) Create a follow-up issue to document the special setup necessary to run the test: ISSUE_LINK
  • If the test requires an admin's personal access token, ensure that the test passes on your local environment with and without the GITLAB_QA_ADMIN_ACCESS_TOKEN provided.
Edited by Jason Zhang

Merge request reports