• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

safe-global / safe-config-service / 22438603455
100%

Build:
DEFAULT BRANCH: main
Ran 02 Mar 2026 08:55AM UTC
Jobs 1
Files 101
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

26 Feb 2026 10:43AM UTC coverage: 99.58% (+0.8%) from 98.804%
22438603455

push

github

web-flow
feat(chains): global feature flags on chain form, per-chain-only inline (#1500)

* feat(chains): global feature flags on chain form, per-chain-only inline

- Show read-only table of global feature flags on chain add/change with
  links to Feature admin and service keys; hide section when none exist
- Restrict "Features enabled for this chain" inline to per-chain
  features via FeatureChainInlineForm queryset

* fix(chains): resolve mypy attr-defined for FeatureChainInlineForm queryset

Narrow feature field type with isinstance(ModelChoiceField) before
setting queryset so mypy accepts the attribute access.

* test: add tests for admin

* refactor(chains): use _get_global_features() in ChainAdmin

Move shared global_features queryset into _get_global_features() and call
it from change_view and add_view to remove duplication.

* fix: remove unused function

* security(chains): escape feature key and description in chain change form

Use |escape on global feature key and description to avoid XSS from admin-editable content.

* test(chains): assert global features via response context in admin test

Use response.context['global_features'] for ordering and scope checks instead of HTML string indexing so the test is independent of template
markup.

* chore(chains): drop unused i18n load from chain change form template

* test(chains): cover description rendering and feature link URL in admin

Add tests for global feature description when set vs empty and for correct admin:chains_feature_change URL in rendered HTML.

* chore: add missing license header

* fix(chains): hide global feature rows from chain inline

GLOBAL feature associations were rendered as blank rows in the chain admin inline because the form filtered the dropdown but not the queryset. Override get_queryset on FeatureInline to exclude through-table entries where the feature scope is GLOBAL.

Add three unit tests covering: GLOBAL excluded, PER_CHAIN included,
and mixed associations returning on... (continued)

1422 of 1428 relevant lines covered (99.58%)

1.0 hits per line

Jobs
ID Job ID Ran Files Coverage
1 22438603455.1 02 Mar 2026 08:55AM UTC 101
99.58
GitHub Action Run
Source Files on build 22438603455
  • Tree
  • List 101
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #22438603455
  • 65ecb53b on github
  • Prev Build on main (#22311164480)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc