From 1e10d7214a69b51f3c1f3b60badfaacebd806de7 Mon Sep 17 00:00:00 2001
From: David Dieulivol <ddieulivol@gitlab.com>
Date: Fri, 3 Mar 2023 19:50:03 +0000
Subject: [PATCH] Skip JS "pages" folder when detecting feature tests

---
 .../mappings/js_to_system_specs_mappings_spec.rb   | 14 ++++++++++++++
 .../mappings/js_to_system_specs_mappings.rb        |  1 +
 2 files changed, 15 insertions(+)

diff --git a/spec/tooling/lib/tooling/mappings/js_to_system_specs_mappings_spec.rb b/spec/tooling/lib/tooling/mappings/js_to_system_specs_mappings_spec.rb
index 72e0254793898..12a73480440a8 100644
--- a/spec/tooling/lib/tooling/mappings/js_to_system_specs_mappings_spec.rb
+++ b/spec/tooling/lib/tooling/mappings/js_to_system_specs_mappings_spec.rb
@@ -129,6 +129,20 @@
     it 'returns a singularized keyword based on the first folder the file is in' do
       expect(subject).to eq(%w[board query])
     end
+
+    context 'when the files are under the pages folder' do
+      let(:js_files) do
+        %w[
+          app/assets/javascripts/pages/boards/issue_board_filters.js
+          ee/app/assets/javascripts/pages2/queries/epic_due_date.query.graphql
+          ee/app/assets/javascripts/queries/epic_due_date.query.graphql
+        ]
+      end
+
+      it 'captures the second folder' do
+        expect(subject).to eq(%w[board pages2 query])
+      end
+    end
   end
 
   describe '#system_specs_for_edition' do
diff --git a/tooling/lib/tooling/mappings/js_to_system_specs_mappings.rb b/tooling/lib/tooling/mappings/js_to_system_specs_mappings.rb
index 365e466011b01..e78ce266a32fd 100644
--- a/tooling/lib/tooling/mappings/js_to_system_specs_mappings.rb
+++ b/tooling/lib/tooling/mappings/js_to_system_specs_mappings.rb
@@ -18,6 +18,7 @@ def initialize(js_base_folder: 'app/assets/javascripts', system_specs_base_folde
         @first_js_folder_extract_regexp = %r{
           (?:.*/)?             # Skips the GitLab edition (e.g. ee/, jh/)
           #{@js_base_folder}/  # Most likely app/assets/javascripts/
+          (?:pages/)?          # If under a pages folder, we capture the following folder
           ([\w-]*)             # Captures the first folder
         }x
       end
-- 
GitLab