Skip to content

Refactor navbar_shared_examples to fix the jh job failed

What does this MR do and why?

In the JiHu version, we wanna add a new menu item under the analytics sidebar. This causes a job to fail: https://jihulab.com/gitlab-cn/gitlab/-/jobs/2466171

Relative JH MR: https://jihulab.com/gitlab-cn/gitlab/-/merge_requests/395

Screenshots or screen recordings

image

Error Log

Click to expand

1st Try error in ./spec/support/shared_examples/features/navbar_shared_examples.rb:10:
expected: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...l", "Integrations", "Webhooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Usage Quotas"]}]
     got: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...l", "Integrations", "Webhooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Usage Quotas"]}]
(compared using ==)
Diff:
@@ -40,7 +40,12 @@
   :nav_sub_items=>["Package Registry", "Infrastructure Registry"]},
  {:nav_item=>"Analytics",
   :nav_sub_items=>
-   ["Value stream", "CI/CD", "Code review", "Merge request", "Repository"]},
+   ["Value stream",
+    "CI/CD",
+    "Code review",
+    "Merge request",
+    "Repository",
+    "Performance Analytics"]},
  {:nav_item=>"Wiki", :nav_sub_items=>[]},
  {:nav_item=>"Snippets", :nav_sub_items=>[]},
  {:nav_item=>"Settings",
RSpec::Retry: 2nd try ./spec/support/shared_examples/features/navbar_shared_examples.rb:10
2nd Try error in ./spec/support/shared_examples/features/navbar_shared_examples.rb:10:
expected: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...l", "Integrations", "Webhooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Usage Quotas"]}]
got: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...l", "Integrations", "Webhooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Usage Quotas"]}]
(compared using ==)
Diff:
@@ -40,7 +40,12 @@
:nav_sub_items=>["Package Registry", "Infrastructure Registry"]},
{:nav_item=>"Analytics",
:nav_sub_items=>

["Value stream", "CI/CD", "Code review", "Merge request", "Repository"]},


["Value stream",
"CI/CD",
"Code review",
"Merge request",
"Repository",
"Performance Analytics"]},
{:nav_item=>"Wiki", :nav_sub_items=>[]},
{:nav_item=>"Snippets", :nav_sub_items=>[]},
{:nav_item=>"Settings",
RSpec::Retry: 3rd try ./spec/support/shared_examples/features/navbar_shared_examples.rb:10

3rd Try error in ./spec/support/shared_examples/features/navbar_shared_examples.rb:10:
expected: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...l", "Integrations", "Webhooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Usage Quotas"]}]
got: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...l", "Integrations", "Webhooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Usage Quotas"]}]
(compared using ==)
Diff:
@@ -40,7 +40,12 @@
:nav_sub_items=>["Package Registry", "Infrastructure Registry"]},
{:nav_item=>"Analytics",
:nav_sub_items=>

["Value stream", "CI/CD", "Code review", "Merge request", "Repository"]},


["Value stream",
"CI/CD",
"Code review",
"Merge request",
"Repository",
"Performance Analytics"]},
{:nav_item=>"Wiki", :nav_sub_items=>[]},
{:nav_item=>"Snippets", :nav_sub_items=>[]},
{:nav_item=>"Settings",
RSpec::Retry: 4th try ./spec/support/shared_examples/features/navbar_shared_examples.rb:10
HTML screenshot: /tmp/capybara/project_navbar_behaves_like_verified_navigation_bar_renders_correctly.html
when value stream is available
redirects to value stream when Analytics item is clicked
when pages are available
behaves like verified navigation bar
renders correctly (FAILED - 2)

1st Try error in ./spec/support/shared_examples/features/navbar_shared_examples.rb:10:
expected: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...grations", "Webhooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Pages", "Usage Quotas"]}]
got: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...grations", "Webhooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Pages", "Usage Quotas"]}]
(compared using ==)
Diff:
@@ -40,7 +40,12 @@
:nav_sub_items=>["Package Registry", "Infrastructure Registry"]},
{:nav_item=>"Analytics",
:nav_sub_items=>

["Value stream", "CI/CD", "Code review", "Merge request", "Repository"]},


["Value stream",
"CI/CD",
"Code review",
"Merge request",
"Repository",
"Performance Analytics"]},
{:nav_item=>"Wiki", :nav_sub_items=>[]},
{:nav_item=>"Snippets", :nav_sub_items=>[]},
{:nav_item=>"Settings",

RSpec::Retry: 2nd try ./spec/support/shared_examples/features/navbar_shared_examples.rb:10
2nd Try error in ./spec/support/shared_examples/features/navbar_shared_examples.rb:10:
expected: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...grations", "Webhooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Pages", "Usage Quotas"]}]
got: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...grations", "Webhooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Pages", "Usage Quotas"]}]
(compared using ==)
Diff:
@@ -40,7 +40,12 @@
:nav_sub_items=>["Package Registry", "Infrastructure Registry"]},
{:nav_item=>"Analytics",
:nav_sub_items=>

["Value stream", "CI/CD", "Code review", "Merge request", "Repository"]},


["Value stream",
"CI/CD",
"Code review",
"Merge request",
"Repository",
"Performance Analytics"]},
{:nav_item=>"Wiki", :nav_sub_items=>[]},
{:nav_item=>"Snippets", :nav_sub_items=>[]},
{:nav_item=>"Settings",
RSpec::Retry: 3rd try ./spec/support/shared_examples/features/navbar_shared_examples.rb:10

3rd Try error in ./spec/support/shared_examples/features/navbar_shared_examples.rb:10:
expected: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...grations", "Webhooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Pages", "Usage Quotas"]}]
got: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...grations", "Webhooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Pages", "Usage Quotas"]}]
(compared using ==)
Diff:
@@ -40,7 +40,12 @@
:nav_sub_items=>["Package Registry", "Infrastructure Registry"]},
{:nav_item=>"Analytics",
:nav_sub_items=>

["Value stream", "CI/CD", "Code review", "Merge request", "Repository"]},


["Value stream",
"CI/CD",
"Code review",
"Merge request",
"Repository",
"Performance Analytics"]},
{:nav_item=>"Wiki", :nav_sub_items=>[]},
{:nav_item=>"Snippets", :nav_sub_items=>[]},
{:nav_item=>"Settings",
RSpec::Retry: 4th try ./spec/support/shared_examples/features/navbar_shared_examples.rb:10
HTML screenshot: /tmp/capybara/project_navbar_when_pages_are_available_behaves_like_verified_navigation_bar_renders_correctly.html
when container registry is available
behaves like verified navigation bar
renders correctly (FAILED - 3)

1st Try error in ./spec/support/shared_examples/features/navbar_shared_examples.rb:10:
expected: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...ooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Packages & Registries", "Usage Quotas"]}]
got: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...ooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Packages & Registries", "Usage Quotas"]}]
(compared using ==)
Diff:
@@ -41,7 +41,12 @@
["Package Registry", "Container Registry", "Infrastructure Registry"]},
{:nav_item=>"Analytics",
:nav_sub_items=>

["Value stream", "CI/CD", "Code review", "Merge request", "Repository"]},


["Value stream",
"CI/CD",
"Code review",
"Merge request",
"Repository",
"Performance Analytics"]},
{:nav_item=>"Wiki", :nav_sub_items=>[]},
{:nav_item=>"Snippets", :nav_sub_items=>[]},
{:nav_item=>"Settings",

RSpec::Retry: 2nd try ./spec/support/shared_examples/features/navbar_shared_examples.rb:10
2nd Try error in ./spec/support/shared_examples/features/navbar_shared_examples.rb:10:
expected: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...ooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Packages & Registries", "Usage Quotas"]}]
got: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...ooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Packages & Registries", "Usage Quotas"]}]
(compared using ==)
Diff:
@@ -41,7 +41,12 @@
["Package Registry", "Container Registry", "Infrastructure Registry"]},
{:nav_item=>"Analytics",
:nav_sub_items=>

["Value stream", "CI/CD", "Code review", "Merge request", "Repository"]},


["Value stream",
"CI/CD",
"Code review",
"Merge request",
"Repository",
"Performance Analytics"]},
{:nav_item=>"Wiki", :nav_sub_items=>[]},
{:nav_item=>"Snippets", :nav_sub_items=>[]},
{:nav_item=>"Settings",
RSpec::Retry: 3rd try ./spec/support/shared_examples/features/navbar_shared_examples.rb:10

3rd Try error in ./spec/support/shared_examples/features/navbar_shared_examples.rb:10:
expected: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...ooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Packages & Registries", "Usage Quotas"]}]
got: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...ooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Packages & Registries", "Usage Quotas"]}]
(compared using ==)
Diff:
@@ -41,7 +41,12 @@
["Package Registry", "Container Registry", "Infrastructure Registry"]},
{:nav_item=>"Analytics",
:nav_sub_items=>

["Value stream", "CI/CD", "Code review", "Merge request", "Repository"]},


["Value stream",
"CI/CD",
"Code review",
"Merge request",
"Repository",
"Performance Analytics"]},
{:nav_item=>"Wiki", :nav_sub_items=>[]},
{:nav_item=>"Snippets", :nav_sub_items=>[]},
{:nav_item=>"Settings",
RSpec::Retry: 4th try ./spec/support/shared_examples/features/navbar_shared_examples.rb:10
HTML screenshot: /tmp/capybara/project_navbar_when_container_registry_is_available_behaves_like_verified_navigation_bar_renders_correctly.html
when harbor registry is available
behaves like verified navigation bar
renders correctly (FAILED - 4)

1st Try error in ./spec/support/shared_examples/features/navbar_shared_examples.rb:10:
expected: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...l", "Integrations", "Webhooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Usage Quotas"]}]
got: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...l", "Integrations", "Webhooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Usage Quotas"]}]
(compared using ==)
Diff:
@@ -41,7 +41,12 @@
["Package Registry", "Infrastructure Registry", "Harbor Registry"]},
{:nav_item=>"Analytics",
:nav_sub_items=>

["Value stream", "CI/CD", "Code review", "Merge request", "Repository"]},


["Value stream",
"CI/CD",
"Code review",
"Merge request",
"Repository",
"Performance Analytics"]},
{:nav_item=>"Wiki", :nav_sub_items=>[]},
{:nav_item=>"Snippets", :nav_sub_items=>[]},
{:nav_item=>"Settings",

RSpec::Retry: 2nd try ./spec/support/shared_examples/features/navbar_shared_examples.rb:10
2nd Try error in ./spec/support/shared_examples/features/navbar_shared_examples.rb:10:
expected: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...l", "Integrations", "Webhooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Usage Quotas"]}]
got: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...l", "Integrations", "Webhooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Usage Quotas"]}]
(compared using ==)
Diff:
@@ -41,7 +41,12 @@
["Package Registry", "Infrastructure Registry", "Harbor Registry"]},
{:nav_item=>"Analytics",
:nav_sub_items=>

["Value stream", "CI/CD", "Code review", "Merge request", "Repository"]},


["Value stream",
"CI/CD",
"Code review",
"Merge request",
"Repository",
"Performance Analytics"]},
{:nav_item=>"Wiki", :nav_sub_items=>[]},
{:nav_item=>"Snippets", :nav_sub_items=>[]},
{:nav_item=>"Settings",
RSpec::Retry: 3rd try ./spec/support/shared_examples/features/navbar_shared_examples.rb:10

3rd Try error in ./spec/support/shared_examples/features/navbar_shared_examples.rb:10:
expected: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...l", "Integrations", "Webhooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Usage Quotas"]}]
got: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...l", "Integrations", "Webhooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Usage Quotas"]}]
(compared using ==)
Diff:
@@ -41,7 +41,12 @@
["Package Registry", "Infrastructure Registry", "Harbor Registry"]},
{:nav_item=>"Analytics",
:nav_sub_items=>

["Value stream", "CI/CD", "Code review", "Merge request", "Repository"]},


["Value stream",
"CI/CD",
"Code review",
"Merge request",
"Repository",
"Performance Analytics"]},
{:nav_item=>"Wiki", :nav_sub_items=>[]},
{:nav_item=>"Snippets", :nav_sub_items=>[]},
{:nav_item=>"Settings",
RSpec::Retry: 4th try ./spec/support/shared_examples/features/navbar_shared_examples.rb:10
HTML screenshot: /tmp/capybara/project_navbar_when_harbor_registry_is_available_behaves_like_verified_navigation_bar_renders_correctly.html
Every controller
feature categories
has feature categories (FAILED - 5)
completed controllers don't get new routes without categories
recognizes the feature categories
doesn't define or exclude categories on removed actions
Ci::AfterRequeueJobService
stage-dag mixed pipeline
marks subsequent skipped jobs as processable
stage-dag mixed pipeline with some same-stage needs
marks subsequent skipped jobs as processable
when the FF ci_fix_order_of_subsequent_jobs is disabled
does not mark b1 as processable
Failures:


Project navbar behaves like verified navigation bar renders correctly
Failure/Error: expect(current_structure).to eq(expected_structure)
expected: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...l", "Integrations", "Webhooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Usage Quotas"]}]
got: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...l", "Integrations", "Webhooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Usage Quotas"]}]
(compared using ==)
Diff:
@@ -40,7 +40,12 @@
:nav_sub_items=>["Package Registry", "Infrastructure Registry"]},
{:nav_item=>"Analytics",
:nav_sub_items=>

["Value stream", "CI/CD", "Code review", "Merge request", "Repository"]},


["Value stream",
"CI/CD",
"Code review",
"Merge request",
"Repository",
"Performance Analytics"]},
{:nav_item=>"Wiki", :nav_sub_items=>[]},
{:nav_item=>"Snippets", :nav_sub_items=>[]},
{:nav_item=>"Settings",
Shared Example Group: "verified navigation bar" called from ./spec/features/projects/navbar_spec.rb:25

./spec/support/shared_examples/features/navbar_shared_examples.rb:24:in `block (2 levels) in <top (required)>'
./spec/spec_helper.rb:417:in `block (3 levels) in <top (required)>'
./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'
./spec/spec_helper.rb:408:in `block (2 levels) in <top (required)>'
./spec/spec_helper.rb:404:in `block (3 levels) in <top (required)>'
./lib/gitlab/application_context.rb:48:in `with_raw_context'
./spec/spec_helper.rb:404:in `block (2 levels) in <top (required)>'
./spec/spec_helper.rb:266:in `block (2 levels) in <top (required)>'
./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'
./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'
./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'
./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'
./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'
./jh/spec/spec_helper.rb:15:in `block (2 levels) in <top (required)>'

Project navbar when pages are available behaves like verified navigation bar renders correctly
Failure/Error: expect(current_structure).to eq(expected_structure)
expected: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...grations", "Webhooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Pages", "Usage Quotas"]}]
got: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...grations", "Webhooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Pages", "Usage Quotas"]}]
(compared using ==)
Diff:
@@ -40,7 +40,12 @@
:nav_sub_items=>["Package Registry", "Infrastructure Registry"]},
{:nav_item=>"Analytics",
:nav_sub_items=>

["Value stream", "CI/CD", "Code review", "Merge request", "Repository"]},


["Value stream",
"CI/CD",
"Code review",
"Merge request",
"Repository",
"Performance Analytics"]},
{:nav_item=>"Wiki", :nav_sub_items=>[]},
{:nav_item=>"Snippets", :nav_sub_items=>[]},
{:nav_item=>"Settings",
Shared Example Group: "verified navigation bar" called from ./spec/features/projects/navbar_spec.rb:60

./spec/support/shared_examples/features/navbar_shared_examples.rb:24:in `block (2 levels) in <top (required)>'
./spec/spec_helper.rb:417:in `block (3 levels) in <top (required)>'
./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'
./spec/spec_helper.rb:408:in `block (2 levels) in <top (required)>'
./spec/spec_helper.rb:404:in `block (3 levels) in <top (required)>'
./lib/gitlab/application_context.rb:48:in `with_raw_context'
./spec/spec_helper.rb:404:in `block (2 levels) in <top (required)>'
./spec/spec_helper.rb:266:in `block (2 levels) in <top (required)>'
./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'
./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'
./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'
./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'
./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'
./jh/spec/spec_helper.rb:15:in `block (2 levels) in <top (required)>'

Project navbar when container registry is available behaves like verified navigation bar renders correctly
Failure/Error: expect(current_structure).to eq(expected_structure)
expected: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...ooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Packages & Registries", "Usage Quotas"]}]
got: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...ooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Packages & Registries", "Usage Quotas"]}]
(compared using ==)
Diff:
@@ -41,7 +41,12 @@
["Package Registry", "Container Registry", "Infrastructure Registry"]},
{:nav_item=>"Analytics",
:nav_sub_items=>

["Value stream", "CI/CD", "Code review", "Merge request", "Repository"]},


["Value stream",
"CI/CD",
"Code review",
"Merge request",
"Repository",
"Performance Analytics"]},
{:nav_item=>"Wiki", :nav_sub_items=>[]},
{:nav_item=>"Snippets", :nav_sub_items=>[]},
{:nav_item=>"Settings",
Shared Example Group: "verified navigation bar" called from ./spec/features/projects/navbar_spec.rb:78

./spec/support/shared_examples/features/navbar_shared_examples.rb:24:in `block (2 levels) in <top (required)>'
./spec/spec_helper.rb:417:in `block (3 levels) in <top (required)>'
./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'
./spec/spec_helper.rb:408:in `block (2 levels) in <top (required)>'
./spec/spec_helper.rb:404:in `block (3 levels) in <top (required)>'
./lib/gitlab/application_context.rb:48:in `with_raw_context'
./spec/spec_helper.rb:404:in `block (2 levels) in <top (required)>'
./spec/spec_helper.rb:266:in `block (2 levels) in <top (required)>'
./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'
./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'
./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'
./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'
./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'
./jh/spec/spec_helper.rb:15:in `block (2 levels) in <top (required)>'

Project navbar when harbor registry is available behaves like verified navigation bar renders correctly
Failure/Error: expect(current_structure).to eq(expected_structure)
expected: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...l", "Integrations", "Webhooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Usage Quotas"]}]
got: [{:nav_item=>"P project1", :nav_sub_items=>[]}, {:nav_item=>"Project information", :nav_sub_items=>["...l", "Integrations", "Webhooks", "Access Tokens", "Repository", "CI/CD", "Monitor", "Usage Quotas"]}]
(compared using ==)
Diff:
@@ -41,7 +41,12 @@
["Package Registry", "Infrastructure Registry", "Harbor Registry"]},
{:nav_item=>"Analytics",
:nav_sub_items=>

["Value stream", "CI/CD", "Code review", "Merge request", "Repository"]},


["Value stream",
"CI/CD",
"Code review",
"Merge request",
"Repository",
"Performance Analytics"]},
{:nav_item=>"Wiki", :nav_sub_items=>[]},
{:nav_item=>"Snippets", :nav_sub_items=>[]},
{:nav_item=>"Settings",
Shared Example Group: "verified navigation bar" called from ./spec/features/projects/navbar_spec.rb:90

./spec/support/shared_examples/features/navbar_shared_examples.rb:24:in `block (2 levels) in <top (required)>'
./spec/spec_helper.rb:417:in `block (3 levels) in <top (required)>'
./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'
./spec/spec_helper.rb:408:in `block (2 levels) in <top (required)>'
./spec/spec_helper.rb:404:in `block (3 levels) in <top (required)>'
./lib/gitlab/application_context.rb:48:in `with_raw_context'
./spec/spec_helper.rb:404:in `block (2 levels) in <top (required)>'
./spec/spec_helper.rb:266:in `block (2 levels) in <top (required)>'
./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'
./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'
./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'
./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'
./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'
./jh/spec/spec_helper.rb:15:in `block (2 levels) in <top (required)>'

Every controller feature categories has feature categories
Failure/Error: expect(routes_without_category).to be_empty, "#{routes_without_category} did not have a category"
["Projects::Analytics::PerformanceAnalyticsController#index"] did not have a category
./spec/controllers/every_controller_spec.rb:23:in `block (3 levels) in <top (required)>'
./spec/spec_helper.rb:417:in `block (3 levels) in <top (required)>'
./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'
./spec/spec_helper.rb:408:in `block (2 levels) in <top (required)>'
./spec/spec_helper.rb:404:in `block (3 levels) in <top (required)>'
./lib/gitlab/application_context.rb:48:in `with_raw_context'
./spec/spec_helper.rb:404:in `block (2 levels) in <top (required)>'
./spec/spec_helper.rb:266:in `block (2 levels) in <top (required)>'
./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'
./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'
./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'
./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'
./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'
./jh/spec/spec_helper.rb:15:in `block (2 levels) in <top (required)>'


Finished in 55.6 seconds (files took 1 minute 10.11 seconds to load)
18 examples, 5 failures
Failed examples:
rspec ./spec/features/projects/navbar_spec.rb:25 # Project navbar behaves like verified navigation bar renders correctly
rspec ./spec/features/projects/navbar_spec.rb:60 # Project navbar when pages are available behaves like verified navigation bar renders correctly
rspec ./spec/features/projects/navbar_spec.rb:78 # Project navbar when container registry is available behaves like verified navigation bar renders correctly
rspec ./spec/features/projects/navbar_spec.rb:90 # Project navbar when harbor registry is available behaves like verified navigation bar renders correctly

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Merge request reports