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

kobotoolbox / kpi / 25811572309
82%
master: 76%

Build:
Build:
LAST BUILD BRANCH: release/2.026.21
DEFAULT BRANCH: master
Ran 13 May 2026 04:25PM UTC
Jobs 10
Files 913
Run time 3min
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

13 May 2026 04:14PM UTC coverage: 81.923% (+0.02%) from 81.906%
25811572309

push

github

web-flow
feat(userreports): allow configurable page size for userreport API DEV-2112 (#7049)

### đŸ“Ŗ Summary
Set the max page size for `/api/v2/user-reports` in Constance.

### Notes
We don't want to make a habit of overriding the max page size, so right
now the class factory only looks at a new USER_REPORTS_PAGE_SIZE_LIMIT
configuration. If eventually we want to do this on more pages we can
genericize the method.


### 👀 Preview steps

1. â„šī¸ have several accounts (at least 10)
2. In a Django shell, run `refresh_user_report_snapshots`
3. In Constance, set `USER_REPORTS_PAGE_SIZE_LIMIT` to 5
4. Navigate to `/api/v2/user-reports`
5. đŸŸĸ [on PR] notice that only 5 results are returned
6. Navigate to `/api/v2/user-reports?limit=2`
7. đŸŸĸ [on PR] notice that only 2 results are returned
8. Navigate to `/api/v2/user-reports?limit=10`
9. đŸŸĸ notice only 5 results are returned

7801 of 12051 branches covered (64.73%)

10 of 19 new or added lines in 2 files covered. (52.63%)

6017 existing lines in 215 files now uncovered.

29638 of 36178 relevant lines covered (81.92%)

5.77 hits per line

Uncovered Changes

Lines Coverage ∆ File
9
62.41
-19.49% kpi/paginators.py

Coverage Regressions

Lines Coverage ∆ File
321
0.0
-90.68% kobo/apps/openrosa/apps/viewer/pandas_mongo_bridge.py
218
45.03
-40.9% kobo/apps/openrosa/libs/utils/logger_tools.py
215
18.97
-52.96% kobo/apps/openrosa/libs/utils/export_tools.py
206
0.0
-86.19% kobo/apps/openrosa/libs/utils/briefcase_client.py
198
59.2
-34.38% kpi/serializers/v2/asset.py
193
57.89
-21.44% kpi/utils/query_parser/canopy_autogenerated_parser/__init__.py
190
28.09
-53.37% kpi/serializers/v2/asset_permission_assignment.py
140
61.51
-23.53% kpi/models/import_export_task.py
127
35.94
-58.53% kpi/utils/xml.py
99
30.19
-62.26% kobo/apps/openrosa/apps/api/permissions.py
99
59.94
-27.73% kpi/views/v2/asset.py
97
29.35
-48.26% kobo/apps/project_ownership/models/transfer.py
93
42.11
-48.95% kobo/apps/openrosa/apps/api/viewsets/xform_list_api.py
87
0.0
-87.88% kobo/apps/openrosa/libs/utils/backup_tools.py
86
28.67
-60.14% kobo/apps/openrosa/apps/viewer/views.py
81
33.11
-53.64% kobo/apps/openrosa/apps/api/viewsets/briefcase_api.py
77
0.0
-77.78% kpi/password_validation.py
72
35.2
-57.6% kpi/models/paired_data.py
71
33.62
-61.21% kobo/apps/openrosa/libs/filters.py
70
23.4
-74.47% kpi/utils/xlsform_preprocessors/kobomatrix_handler.py
66
32.23
-54.55% kobo/apps/openrosa/apps/api/viewsets/data_viewset.py
66
26.85
-61.11% kpi/serializers/v2/paired_data.py
63
32.52
-51.22% kobo/apps/accounts/forms.py
63
34.55
-57.27% kpi/views/v2/paired_data.py
60
31.62
-51.28% kpi/serializers/v2/export_task.py
59
46.96
-51.3% kobo/apps/openrosa/apps/api/viewsets/xform_submission_api.py
58
0.0
-90.63% kobo/apps/openrosa/libs/data/query.py
58
59.93
-19.53% kpi/views/v2/data.py
52
34.81
-32.91% kobo/apps/openrosa/apps/api/viewsets/xform_viewset.py
50
0.0
-47.17% kobo/apps/openrosa/apps/logger/tasks.py
49
28.57
-43.75% kobo/apps/openrosa/apps/logger/views.py
47
84.63
-8.5% kpi/models/asset.py
46
54.92
-37.7% kobo/apps/openrosa/libs/serializers/xform_serializer.py
46
50.7
-21.4% kpi/renderers.py
45
57.09
-17.72% kobo/apps/openrosa/apps/viewer/models/parsed_instance.py
44
45.72
-16.36% kobo/apps/openrosa/apps/viewer/models/data_dictionary.py
44
60.05
-10.92% kpi/deployment_backends/base_backend.py
42
41.18
-49.41% kpi/views/environment.py
41
23.29
-56.16% kobo/apps/openrosa/libs/utils/image_tools.py
40
0.0
-40.82% kobo/apps/openrosa/apps/viewer/xls_writer.py
39
23.08
-30.0% kobo/apps/openrosa/apps/viewer/tasks.py
39
40.36
-6.43% kpi/deployment_backends/openrosa_backend.py
37
61.11
-29.37% kobo/apps/openrosa/apps/logger/signals.py
37
35.71
-22.02% kobo/apps/openrosa/apps/main/models/meta_data.py
37
32.97
-40.66% kobo/apps/openrosa/libs/serializers/metadata_serializer.py
36
24.49
-73.47% kobo/apps/openrosa/apps/logger/import_tools.py
36
55.29
-42.35% kobo/apps/openrosa/libs/renderers/renderers.py
35
18.75
-72.92% kpi/utils/xlsform_preprocessors/koborank_handler.py
34
37.96
-31.48% kobo/apps/openrosa/apps/logger/utils/instance.py
33
49.51
-32.04% kobo/apps/openrosa/apps/viewer/models/export.py
33
50.0
-47.14% kpi/utils/cache.py
32
50.75
-47.76% kpi/views/v2/asset_export_settings.py
30
0.0
-75.0% kobo/apps/openrosa/apps/django_digest_backends/cache.py
29
30.14
-19.86% kobo/apps/openrosa/libs/utils/viewer_tools.py
29
64.65
-29.29% kpi/utils/django_orm_helper.py
29
70.87
-28.16% kpi/utils/usage_calculator.py
29
21.95
-70.73% kpi/utils/xlsform_preprocessors/koboscore_handler.py
29
63.16
-30.53% kpi/views/v2/asset_permission_assignment.py
28
41.27
-44.44% kobo/apps/openrosa/libs/serializers/data_serializer.py
27
0.0
-72.97% kobo/apps/accounts/adapter.py
27
34.0
-54.0% kobo/apps/data_collectors/authentication.py
27
49.06
-50.94% kobo/apps/openrosa/libs/serializers/attachment_serializer.py
27
16.67
-18.0% kobo/apps/project_ownership/utils.py
27
45.16
-43.55% kpi/views/v2/attachment.py
26
35.71
-61.9% kobo/apps/openrosa/libs/mixins/labels_mixin.py
26
27.78
-72.22% kobo/apps/openrosa/libs/utils/decorators.py
26
27.5
-65.0% kpi/serializers/v2/attachment_delete.py
26
71.72
-17.93% kpi/utils/query_parser/query_parser.py
25
31.11
-55.56% kpi/serializers/v2/data.py
25
55.56
-18.52% kpi/views/v2/asset_snapshot.py
24
69.76
-11.71% kpi/utils/mongo_helper.py
23
55.46
-19.33% kobo/apps/openrosa/apps/logger/models/attachment.py
23
70.41
-11.73% kobo/apps/openrosa/apps/logger/models/instance.py
23
60.41
-11.68% kpi/mixins/formpack_xlsform_utils.py
23
40.48
-54.76% kpi/serializers/v2/deployment.py
23
71.43
-27.38% kpi/serializers/v2/service_usage.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
38.33
-35.0% kpi/serializers/v2/asset_export_settings.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
20
29.67
-21.98% kobo/apps/openrosa/libs/utils/user_auth.py
20
62.41
-19.49% kpi/paginators.py
19
51.22
-23.17% kobo/apps/accounts/mfa/views.py
19
16.0
-76.0% kobo/apps/openrosa/apps/api/utils/xml.py
19
38.24
-55.88% kpi/parsers.py
19
33.33
-63.33% kpi/utils/paired_data.py
19
51.06
-40.43% kpi/views/v2/import_task.py
18
48.34
-11.92% kobo/apps/organizations/views.py
18
35.56
-40.0% kpi/fields/file.py
18
87.79
-8.45% kpi/permissions.py
18
37.84
-48.65% kpi/serializers/v2/create_user.py
18
37.93
-62.07% kpi/views/token.py
18
66.04
-33.96% kpi/views/v2/export_task.py
17
16.22
-45.95% kobo/apps/openrosa/apps/logger/utils/database_query.py
17
81.18
-6.67% kobo/apps/openrosa/apps/logger/xform_instance_parser.py
17
48.94
-18.09% kobo/apps/openrosa/libs/utils/middleware.py
15
31.71
-36.59% kobo/apps/openrosa/apps/logger/xform_fs.py
15
41.94
-48.39% kobo/apps/openrosa/libs/authentication.py
15
34.78
-65.22% kobo/apps/openrosa/libs/models/signals.py
15
0.0
-100.0% kobo/conftest.py
15
24.1
-18.07% kpi/utils/storage.py
14
0.0
-41.18% kobo/apps/accounts/mfa/adapter.py
14
44.0
-56.0% kobo/apps/openrosa/libs/utils/model_tools.py
14
67.27
-25.45% kpi/signals.py
13
35.8
-16.05% hub/utils/i18n.py
13
75.39
-6.81% kobo/apps/openrosa/apps/logger/models/xform.py
13
62.82
-16.67% kpi/authentication.py
13
91.36
-3.62% kpi/mixins/object_permission.py
13
40.0
-43.33% kpi/serializers/v2/asset_counts.py
13
52.87
-14.94% kpi/tasks.py
12
28.21
-30.77% kobo/apps/accounts/mfa/flows.py
12
42.11
-31.58% kobo/apps/data_collectors/signals.py
12
44.9
-24.49% kobo/apps/openrosa/apps/logger/utils/counters.py
12
70.0
-30.0% kobo/apps/openrosa/libs/serializers/user_profile_serializer.py
12
43.06
-16.67% kobo/apps/project_ownership/serializers/invite.py
12
80.0
-11.43% kpi/utils/object_permission.py
12
71.83
-16.9% kpi/utils/sluggify.py
12
50.0
-28.57% kpi/utils/urls.py
11
62.5
-34.38% kobo/apps/openrosa/apps/api/viewsets/attachment_viewset.py
11
55.56
-40.74% kpi/utils/xlsform_preprocessors/base_handlers.py
10
65.37
-2.44% kobo/apps/audit_log/models.py
10
58.33
-41.67% kobo/apps/openrosa/apps/api/viewsets/note_viewset.py
10
44.0
-40.0% kobo/apps/stripe/signals.py
10
33.33
-37.04% kpi/mixins/audio_transcoding.py
9
41.49
-9.57% kobo/apps/accounts/mfa/models.py
9
47.62
-21.43% kobo/apps/markdownx_uploader/models.py
9
30.56
-8.33% kobo/apps/openrosa/apps/api/tools.py
9
62.07
-31.03% kobo/apps/openrosa/apps/api/viewsets/metadata_viewset.py
9
67.61
-12.68% kobo/apps/project_ownership/models/invite.py
9
90.2
-8.82% kpi/models/asset_file.py
9
81.03
-7.76% kpi/models/asset_snapshot.py
9
35.29
-52.94% kpi/serializers/v1/authorized_application_user.py
8
58.51
-8.51% kobo/apps/stripe/utils/billing_dates.py
8
73.95
-6.72% kobo/apps/stripe/utils/subscription_limits.py
7
67.74
-22.58% kobo/apps/data_collectors/models.py
7
31.25
-43.75% kobo/apps/openrosa/libs/utils/string.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
64.29
-25.0% kpi/utils/submission.py
7
74.07
-25.93% kpi/views/v2/attachment_delete.py
7
75.86
-24.14% kpi/views/v2/tag.py
6
66.67
-28.57% kobo/apps/openrosa/apps/api/viewsets/connect_viewset.py
6
69.57
-26.09% kobo/apps/openrosa/libs/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
80.0
-20.0% kpi/serializers/v2/tag.py
6
76.47
-17.65% kpi/utils/rename_xls_sheet.py
5
72.22
-27.78% kobo/apps/openrosa/apps/logger/models/daily_xform_submission_counter.py
5
75.0
-25.0% kobo/apps/openrosa/apps/logger/models/monthly_xform_submission_counter.py
5
0.0
-38.46% kobo/apps/openrosa/apps/main/context_processors.py
5
50.0
-50.0% kobo/apps/openrosa/libs/mixins/openrosa_headers_mixin.py
5
66.67
-33.33% kobo/apps/openrosa/libs/serializers/note_serializer.py
5
30.0
-7.14% kobo/apps/organizations/permissions.py
5
47.22
-13.89% kobo/apps/organizations/tasks.py
5
75.0
-20.83% kpi/models/authorized_application.py
5
76.0
-20.0% kpi/views/v2/asset_counts.py
5
61.54
-38.46% kpi/views/v2/logout.py
4
53.85
-30.77% kobo/apps/accounts/templatetags/customize_email_content.py
4
63.33
-6.67% kobo/apps/openrosa/apps/main/models/user_profile.py
4
45.45
-36.36% kobo/apps/openrosa/koboform/__init__.py
4
60.61
-2.42% kobo/apps/organizations/models.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
3
78.43
-5.88% hub/models/extra_user_detail.py
3
85.71
-6.12% kobo/apps/openrosa/apps/logger/exceptions.py
3
80.0
-20.0% kobo/apps/openrosa/apps/viewer/signals.py
3
50.0
-37.5% kobo/apps/openrosa/libs/mixins/anonymous_user_public_forms_mixin.py
3
46.67
-20.0% kobo/apps/openrosa/libs/serializers/tag_list_serializer.py
3
88.57
-8.57% kobo/apps/project_views/models/project_view.py
3
0.0
-100.0% kobo/settings/testing_no_stripe.py
3
75.0
-25.0% kpi/utils/strings.py
3
86.67
-10.0% kpi/views/v2/asset_version.py
3
75.0
-25.0% kpi/views/v2/open_rosa.py
2
90.8
-2.3% kobo/apps/audit_log/signals.py
2
76.6
-4.26% kobo/apps/kobo_auth/models.py
2
61.54
-15.38% kobo/apps/openrosa/libs/utils/gravatar.py
2
91.3
-8.7% kobo/apps/project_ownership/views/invite.py
2
82.14
-7.14% kobo/urls.py
2
83.47
-1.65% kpi/exceptions.py
2
85.71
-9.52% kpi/fields/writable_json.py
2
80.0
-20.0% kpi/mixins/mfa.py
2
96.3
-3.7% kpi/mixins/xls_exportable.py
2
92.0
-4.0% kpi/models/asset_version.py
2
88.24
-11.76% kpi/views/v2/service_usage.py
1
80.0
-20.0% kobo/apps/accounts/mfa/permissions.py
1
44.44
-5.56% kobo/apps/accounts/templatetags/get_provider_appname.py
1
0.0
-100.0% kobo/apps/openrosa/apps/logger/constants.py
1
75.0
-25.0% kobo/apps/openrosa/libs/utils/storage.py
1
65.79
-2.63% kobo/apps/organizations/utils.py
1
92.31
-7.69% kobo/apps/user_reports/utils/migrations.py
1
93.02
-2.33% kpi/backends.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
82.61
-4.35% kpi/fields/relative_prefix_hyperlinked_related.py
1
78.71
-0.5% kpi/filters.py
1
67.74
-3.23% kpi/mixins/standardize_searchable_field.py
1
75.0
-8.33% kpi/mixins/validation_password_permission.py
1
72.73
-4.55% kpi/utils/bugfix.py
1
75.0
-6.25% kpi/utils/drf_exceptions.py
1
50.0
-50.0% kpi/utils/export_task.py
1
78.57
-0.89% kpi/utils/models.py
1
92.31
-7.69% kpi/versioning.py
1
93.33
-6.67% kpi/views/v2/asset_usage.py
Jobs
ID Job ID Ran Files Coverage
1 25811572309.1 13 May 2026 04:25PM UTC 911
53.76
2 25811572309.2 13 May 2026 04:27PM UTC 909
52.54
3 25811572309.3 13 May 2026 04:27PM UTC 909
52.78
4 25811572309.4 13 May 2026 04:28PM UTC 911
54.12
5 25811572309.5 13 May 2026 04:33PM UTC 913
68.06
6 25811572309.6 13 May 2026 04:33PM UTC 909
54.08
7 25811572309.7 13 May 2026 04:35PM UTC 911
61.17
8 25811572309.8 13 May 2026 04:45PM UTC 911
55.32
9 25811572309.9 13 May 2026 04:46PM UTC 911
65.83
10 25811572309.10 13 May 2026 05:20PM UTC 909
60.05
Source Files on build 25811572309
  • Tree
  • List 913
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • c9d758f5 on github
  • Prev Build on release/2.026.12 (#25750860804)
  • Next Build on release/2.026.12 (#25859849859)
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