Step 4: Version Control for Snippets: Implement QA tests (MVP)

Important: All the new functionality must be implemented behind the feature flag :version_snippets. Besides, it has to be scoped for projects. Therefore, instead of checking if the feature flag is enabled or not (Feature.enabled?(:version_snippets)), we will check if the feature flag is enabled for specific projects (Feature.enabled?(:version_snippets, project)). This way, for testing purposes, we can enable the feature flag on the project gitlab-org/gitlab for example, instead of enabling it globally.

We need to implement QA E2E tests to ensure that the feature works as expected. Specifically:

  • Clone through HTTP for both project and personal snippets.
  • Push/Pull through HTTP for both project and personal snippets.
  • Clone through SSH for both project and personal snippets.
  • Push/Pull through SSH for both project and personal snippets.
  • Create a project snippet inside a project that has been moved
  • Clone/Push/Pull the snippet

Also, it would be nice to test some invalid routes:

  • Clone/Push/Pull a personal snippet where the id does not exist
  • Clone/Push/Pull a project snippet where the id does not exist
  • Clone/Push/Pull a project snippet where the project path does not exist

This issue depends on !21739 (merged) and !23953 (merged) to be merged first.

This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.

Edited by 🤖 GitLab Bot 🤖