Consider reorganizing the QA scenarios
Currently, our QA scenarios organization is quite random:
› tree qa/qa/specs/features
qa/qa/specs/features
├── api
│ ├── basics_spec.rb
│ └── users_spec.rb
├── login
│ └── ldap_spec.rb
├── mattermost
│ ├── group_create_spec.rb
│ └── login_spec.rb
├── merge_request
│ ├── create_spec.rb
│ ├── rebase_spec.rb
│ └── squash_spec.rb
├── project
│ ├── activity_spec.rb
│ ├── add_deploy_key_spec.rb
│ ├── add_secret_variable_spec.rb
│ ├── auto_devops_spec.rb
│ ├── create_issue_spec.rb
│ ├── create_spec.rb
│ ├── deploy_key_clone_spec.rb
│ ├── file_spec.rb
│ ├── fork_project_spec.rb
│ ├── import_from_github_spec.rb
│ ├── pipelines_spec.rb
│ └── wikis_spec.rb
└── repository
├── clone_spec.rb
├── protected_branches_spec.rb
└── push_spec.rb
6 directories, 23 files
What I find messy is to throw a lot of scenarios under project/
.
Maybe we could reorganize them using our Product categories:
› tree qa/qa/specs/features
qa/qa/specs/features
├── api
│ ├── 1_manage
│ │ └── user
│ │ └── users_spec.rb
│ ├── 2_plan
│ ├── 3_create
│ │ └── repository
│ │ └── files_spec.rb
│ ├── 4_verify
│ ├── 5_package
│ ├── 6_release
│ ├── 7_configure
│ ├── 8_monitor
│ ├── 9_secure
│ └── user
└── browser
├── 1_manage
│ ├── login
│ │ ├── log_into_gitlab_via_ldap_spec.rb
│ │ └── log_into_mattermost_via_gitlab_spec.rb
│ └── project
│ ├── create_project_spec.rb
│ ├── import_github_repo_spec.rb
│ └── view_project_activity_spec.rb
├── 2_plan
│ └── issue
│ └── create_issue_spec.rb
├── 3_create
│ ├── merge_request
│ │ ├── create_merge_request_spec.rb
│ │ ├── merge_merge_request_from_fork_spec.rb
│ │ ├── rebase_merge_request_spec.rb
│ │ └── squash_merge_request_spec.rb
│ ├── repository
│ │ ├── clone_spec.rb
│ │ ├── create_edit_delete_file_via_web_spec.rb
│ │ ├── push_over_http_spec.rb
│ │ └── push_protected_branch_spec.rb
│ └── wiki
│ └── create_edit_clone_push_wiki_spec.rb
├── 4_verify
│ ├── pipeline
│ │ └── create_pipeline_spec.rb
│ ├── runner
│ │ └── register_runner_spec.rb
│ └── secret_variable
│ └── add_secret_variable_spec.rb
├── 5_package
├── 6_release
│ └── deploy_key
│ ├── add_deploy_key_spec.rb
│ └── clone_using_deploy_key_spec.rb
├── 7_configure
│ ├── auto_devops
│ │ └── create_project_with_auto_devops_spec.rb
│ └── mattermost
│ └── create_group_with_mattermost_team_spec.rb
├── 8_monitor
└── 9_secure
35 directories, 24 files
1 folder per category, then 1 folder for the entity being tested, then scenario files in the form verb_entity_spec.rb
.
Note that api
scenarios are nested under their respective product category.
What do you think @gl-quality?
Edited by Rémy Coutable