mirror of
https://github.com/yattee/yattee.git
synced 2026-02-19 17:29:45 +00:00
121 lines
2.6 KiB
YAML
121 lines
2.6 KiB
YAML
# RuboCop configuration for Yattee UI tests
|
|
# Relaxed configuration matching existing code style
|
|
|
|
plugins:
|
|
- rubocop-rspec
|
|
|
|
AllCops:
|
|
TargetRubyVersion: 3.4
|
|
NewCops: enable
|
|
Include:
|
|
- 'spec/**/*.rb'
|
|
Exclude:
|
|
- 'vendor/**/*'
|
|
- 'Gemfile'
|
|
|
|
# ============================================
|
|
# Metrics - Relaxed for UI test complexity
|
|
# ============================================
|
|
|
|
# RSpec blocks are naturally long
|
|
Metrics/BlockLength:
|
|
Enabled: false
|
|
|
|
# UI test methods can be longer
|
|
Metrics/MethodLength:
|
|
Max: 120
|
|
|
|
# Classes can be larger in test support code
|
|
Metrics/ClassLength:
|
|
Max: 500
|
|
|
|
# Allow higher complexity for UI test helpers
|
|
Metrics/AbcSize:
|
|
Max: 100
|
|
|
|
Metrics/CyclomaticComplexity:
|
|
Max: 40
|
|
|
|
Metrics/PerceivedComplexity:
|
|
Max: 40
|
|
|
|
# ============================================
|
|
# Layout
|
|
# ============================================
|
|
|
|
# Relaxed line length for readability
|
|
Layout/LineLength:
|
|
Max: 140
|
|
|
|
# ============================================
|
|
# Naming
|
|
# ============================================
|
|
|
|
# Allow methods like find_element, ensure_invidious without ? suffix
|
|
Naming/PredicateMethod:
|
|
Enabled: false
|
|
|
|
# Allow set_ prefix for methods like set_status_bar_overrides
|
|
Naming/AccessorMethodName:
|
|
Enabled: false
|
|
|
|
# ============================================
|
|
# Lint
|
|
# ============================================
|
|
|
|
# Allow duplicate branches in case statements (UI state machines)
|
|
Lint/DuplicateBranch:
|
|
Enabled: false
|
|
|
|
# ============================================
|
|
# Style
|
|
# ============================================
|
|
|
|
# Not needed for test files
|
|
Style/Documentation:
|
|
Enabled: false
|
|
|
|
# Allow multi-line block chains (common in RSpec)
|
|
Style/MultilineBlockChain:
|
|
Enabled: false
|
|
|
|
# Allow single-line if statements (don't force modifier style)
|
|
Style/IfUnlessModifier:
|
|
Enabled: false
|
|
|
|
# Allow short parameter names in UI test helpers
|
|
Naming/MethodParameterName:
|
|
Enabled: false
|
|
|
|
# ============================================
|
|
# RSpec - Relaxed for UI testing patterns
|
|
# ============================================
|
|
|
|
# UI tests may need more steps
|
|
RSpec/ExampleLength:
|
|
Max: 30
|
|
|
|
# Allow before(:all) for simulator lifecycle management
|
|
RSpec/BeforeAfterAll:
|
|
Enabled: false
|
|
|
|
# Allow instance variables shared across examples (@axe, @udid)
|
|
RSpec/InstanceVariable:
|
|
Enabled: false
|
|
|
|
# UI tests often batch multiple checks
|
|
RSpec/MultipleExpectations:
|
|
Enabled: false
|
|
|
|
# Allow deeper nesting for describe/context blocks
|
|
RSpec/NestedGroups:
|
|
Max: 5
|
|
|
|
# Feature/smoke specs use string descriptions, not class names
|
|
RSpec/DescribeClass:
|
|
Enabled: false
|
|
|
|
# Allow expect in before hooks for setup verification
|
|
RSpec/ExpectInHook:
|
|
Enabled: false
|