Optimize factory usage in group_entity

What does this MR do and why?

This MR replaces create with build_stubbed in spec/serializers/jira_connect/group_entity_spec.rb to optimize factory usage as recommended in our handbook. This spec is part of the list .rubocop_todo/rspec/factory_bot/avoid_create.yml. It was verified that database persistence is not needed using the factory doctor command FDOC=1 bin/rspec spec/serializers/jira_connect/group_entity_spec.rb.

Factory Usage Optimization Results

Before optimization:

  • Factory time: 0.624s (4.48% of total time)

After optimization:

  • Factory time: 0.025s (0.18% of total time)

Improvement:

  • Factory time reduced by: 0.599s
  • Factory time percentage reduced by: 4.3%
  • Overall factory usage improvement: 96.0%

Factory Doctor Output

[TEST PROF INFO] FactoryDoctor enabled (event: "sql.active_record", threshold: 0.01)
Run options: include {:focus=>true}

All examples were filtered out; ignoring {:focus=>true}
==> Using precompiled Gitaly binaries from cache

Test environment set up in 1.486316000111401 seconds
Missing metadata feature_category: ./spec/serializers/jira_connect/group_entity_spec.rb:12 See https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#feature-category-metadata
.[TEST PROF INFO] FactoryDoctor report

Total (potentially) bad examples: 1
Total wasted time: 00:00.325

JiraConnect::GroupEntity (./spec/serializers/jira_connect/group_entity_spec.rb:5) (7 records created, 00:00.325)
  contains all necessary elements of the group (./spec/serializers/jira_connect/group_entity_spec.rb:12)  7 records created, 00:00.325



Finished in 7.27 seconds (files took 21.38 seconds to load)
1 example, 0 failures

[TEST PROF INFO] Time spent in factories: 00:00.343 (2.45% of total time)

This MR also adds the missing feature_category to this spec.

References

Relates to: #378910

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Merge request reports

Loading