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

kobotoolbox / kpi / 25421334516
82%
master: 76%

Build:
Build:
LAST BUILD BRANCH: dev-2072-add-nested-storage-for-extra-project-metadata-on-asset-settings
DEFAULT BRANCH: master
Ran 06 May 2026 07:10AM UTC
Jobs 10
Files 912
Run time 2min
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

06 May 2026 07:05AM UTC coverage: 81.982%. Remained the same
25421334516

push

github

web-flow
feat(frontend): setup default invalidations DEV-2010 (#6985)

### 💭 Notes

A code change for future. An aftermath of #6936. Added default
invalidations for few orval generated API hooks.

Changes here:
- `survey-data.ts` → `useAssetsPairedDataDestroy` invalidates the paired
data list for the asset on settled
- `manage-projects-and-library-content.ts` → new file;
`useAssetsPartialUpdate` invalidates both the paginated assets list and
the specific asset item on settled

### 👀 Preview steps

Setup:

1. Use DevTools → **Network** tab
2. Open a project that has **Connect Projects** enabled

Test 1 → `useAssetsPairedDataDestroy` invalidates the paired-data list

1. Navigate to Project → Settings → Connect Projects
2. Make sure at least one source project is already attached
3. Clear the Network log
4. Click Remove on an attached source and confirm
5. 🟢 You should see a `DELETE
/api/v2/assets/<uid>/paired-data/<paired-uid>/` request complete with
`204`
6. 🟢 Immediately after, a `GET /api/v2/assets/<uid>/paired-data/`
request fires automatically — this is the invalidation refetch
7. 🟢 Notice the removed source disappears from the list without a manual
page reload

Test 2 → `useAssetsPartialUpdate` invalidates the asset list and item

1. Stay on the same Connect Projects panel
2. Clear the Network log
3. Toggle the Share data switch (on → off, or off → on).
4. 🟢 A `PATCH /api/v2/assets/<uid>/` request fires with `200`
5. 🟢 After it completes, two refetch requests fire:
- `GET /api/v2/assets/` (the paginated list — `invalidatePaginatedList`)
   - `GET /api/v2/assets/<uid>/` (the specific asset — `invalidateItem`)
6. 🟢 Notice the sharing state reflects the server response. Other parts
of the UI that depend on the asset would also pick up the refreshed data

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Paulo Amorim <pauloamorimbr@gmail.com>

9078 of 12214 branches covered (74.32%)

29911 of 36485 relevant lines covered (81.98%)

5.76 hits per line

Coverage Regressions

Lines Coverage ∆ File
193
57.89
-21.44% kpi/utils/query_parser/canopy_autogenerated_parser/__init__.py
117
61.51
-19.66% kpi/models/import_export_task.py
97
29.35
-48.26% kobo/apps/project_ownership/models/transfer.py
77
0.0
-77.78% kpi/password_validation.py
70
23.4
-74.47% kpi/utils/xlsform_preprocessors/kobomatrix_handler.py
66
59.08
-10.8% kpi/serializers/v2/asset.py
63
32.52
-51.22% kobo/apps/accounts/forms.py
50
35.5
-25.0% kpi/utils/xml.py
44
60.05
-10.92% kpi/deployment_backends/base_backend.py
40
85.06
-7.29% kpi/models/asset.py
39
40.36
-6.43% kpi/deployment_backends/openrosa_backend.py
39
35.2
-31.2% kpi/models/paired_data.py
37
38.83
-35.92% kpi/utils/usage_calculator.py
36
58.92
-9.73% kpi/views/v2/asset.py
35
18.75
-72.92% kpi/utils/xlsform_preprocessors/koborank_handler.py
30
44.29
-42.86% kpi/utils/cache.py
29
64.65
-29.29% kpi/utils/django_orm_helper.py
29
21.95
-70.73% kpi/utils/xlsform_preprocessors/koboscore_handler.py
27
0.0
-72.97% kobo/apps/accounts/adapter.py
27
16.67
-18.0% kobo/apps/project_ownership/utils.py
26
71.72
-17.93% kpi/utils/query_parser/query_parser.py
24
40.0
-53.33% kpi/fields/jsonschema_form_field.py
23
60.41
-11.68% kpi/mixins/formpack_xlsform_utils.py
23
52.38
-18.25% kpi/utils/autoname.py
23
51.06
-48.94% kpi/views/v2/authorized_application_user.py
22
31.58
-38.6% kpi/utils/mailer.py
21
0.0
-70.0% kobo/apps/audit_log/tasks.py
21
23.08
-53.85% kpi/utils/asset_translation_utils.py
21
40.58
-30.43% kpi/utils/data_exports.py
21
26.47
-61.76% kpi/utils/export_cleanup.py
18
35.56
-40.0% kpi/fields/file.py
18
64.66
-15.52% kpi/paginators.py
18
37.84
-48.65% kpi/serializers/v2/create_user.py
18
37.93
-62.07% kpi/views/token.py
17
46.99
-10.24% kobo/apps/organizations/views.py
14
67.27
-25.45% kpi/signals.py
13
37.14
-18.57% hub/utils/i18n.py
13
52.87
-14.94% kpi/tasks.py
12
42.11
-31.58% kobo/apps/data_collectors/signals.py
12
43.06
-16.67% kobo/apps/project_ownership/serializers/invite.py
12
71.83
-16.9% kpi/utils/sluggify.py
11
70.41
-5.61% kobo/apps/openrosa/apps/logger/models/instance.py
11
91.36
-3.06% kpi/mixins/object_permission.py
11
28.09
-3.09% kpi/serializers/v2/asset_permission_assignment.py
11
69.76
-5.37% kpi/utils/mongo_helper.py
11
55.56
-40.74% kpi/utils/xlsform_preprocessors/base_handlers.py
9
47.62
-21.43% kobo/apps/markdownx_uploader/models.py
9
67.61
-12.68% kobo/apps/project_ownership/models/invite.py
9
35.29
-52.94% kpi/serializers/v1/authorized_application_user.py
8
35.71
-4.76% kobo/apps/openrosa/apps/main/models/meta_data.py
8
48.94
-8.51% kobo/apps/openrosa/libs/utils/middleware.py
8
52.94
-47.06% kpi/utils/strings.py
7
67.74
-22.58% kobo/apps/data_collectors/models.py
7
76.4
-7.87% kobo/apps/reports/report_data.py
7
53.33
-46.67% kpi/maintenance_tasks.py
7
70.37
-25.93% kpi/models/extra_project_metadata_field.py
7
82.26
-11.29% kpi/utils/kobo_to_xlsform.py
7
80.0
-6.67% kpi/utils/object_permission.py
6
30.19
-3.77% kobo/apps/openrosa/apps/api/permissions.py
6
43.75
-37.5% kobo/apps/project_ownership/filters.py
6
72.09
-13.95% kobo/apps/project_ownership/serializers/transfer.py
6
0.0
-100.0% kobo/apps/project_views/tasks.py
6
74.51
-11.76% kpi/context_processors.py
6
42.86
-42.86% kpi/mixins/asset.py
6
50.0
-14.29% kpi/utils/urls.py
5
64.98
-1.21% kobo/apps/audit_log/models.py
5
30.0
-7.14% kobo/apps/organizations/permissions.py
5
47.22
-13.89% kobo/apps/organizations/tasks.py
5
90.2
-4.9% kpi/models/asset_file.py
5
81.03
-4.31% kpi/models/asset_snapshot.py
5
75.0
-20.83% kpi/models/authorized_application.py
5
24.1
-6.02% kpi/utils/storage.py
4
53.85
-30.77% kobo/apps/accounts/templatetags/customize_email_content.py
4
22.69
-3.36% kobo/apps/stripe/utils/subscription_limits.py
4
89.47
-7.02% kpi/deployment_backends/mixin.py
4
94.25
-4.6% kpi/utils/asset_content_analyzer.py
4
33.33
-66.67% kpi/utils/chunked_delete.py
4
86.67
-13.33% kpi/utils/project_views.py
4
64.29
-14.29% kpi/utils/submission.py
3
78.43
-5.88% hub/models/extra_user_detail.py
3
59.39
-1.82% kobo/apps/organizations/models.py
3
88.57
-8.57% kobo/apps/project_views/models/project_view.py
2
57.09
-0.79% kobo/apps/openrosa/apps/viewer/models/parsed_instance.py
2
91.3
-8.7% kobo/apps/project_ownership/views/invite.py
2
85.84
-1.77% kpi/exceptions.py
1
44.44
-5.56% kobo/apps/accounts/templatetags/get_provider_appname.py
1
45.72
-0.37% kobo/apps/openrosa/apps/viewer/models/data_dictionary.py
1
57.89
-2.63% kobo/apps/organizations/utils.py
1
57.89
-2.63% kpi/db_routers.py
1
79.49
-2.56% kpi/deployment_backends/kc_access/storage.py
1
95.51
-1.12% kpi/deployment_backends/mock_backend.py
1
78.71
-0.5% kpi/filters.py
1
67.74
-3.23% kpi/mixins/standardize_searchable_field.py
1
92.0
-2.0% kpi/models/asset_version.py
1
72.73
-4.55% kpi/utils/bugfix.py
Jobs
ID Job ID Ran Files Coverage
1 25421334516.1 06 May 2026 07:10AM UTC 908
52.36
2 25421334516.2 06 May 2026 07:11AM UTC 910
53.57
3 25421334516.3 06 May 2026 07:11AM UTC 908
53.97
4 25421334516.4 06 May 2026 07:12AM UTC 910
55.2
5 25421334516.5 06 May 2026 07:12AM UTC 908
59.95
6 25421334516.6 06 May 2026 07:12AM UTC 910
65.89
7 25421334516.7 06 May 2026 07:14AM UTC 912
68.1
8 25421334516.8 06 May 2026 07:15AM UTC 910
61.06
9 25421334516.9 06 May 2026 07:15AM UTC 908
52.67
10 25421334516.10 06 May 2026 07:17AM UTC 910
53.99
Source Files on build 25421334516
  • Tree
  • List 912
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • c14722b0 on github
  • Prev Build on main (#25420629542)
  • Next Build on main (#25423037411)
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