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

kobotoolbox / kpi / 28447174544
81%
master: 76%

Build:
Build:
LAST BUILD BRANCH: DEV-1469-create-model-for-tag-trackers
DEFAULT BRANCH: master
Ran 30 Jun 2026 01:20PM UTC
Jobs 10
Files 892
Run time 4min
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

30 Jun 2026 01:15PM UTC coverage: 81.439% (-0.003%) from 81.442%
28447174544

push

github

web-flow
feat(bulkProcessing): limit reached alert DEV-1417 (#7188)

### 📣 Summary

Bulk transcription and translation modals now show an error alert when
users have reached their quota limit (0 minutes/characters remaining).

### 💭 Notes

Changes here:

- **alertEvaluators.ts**: Implemented the `evaluateReachedLimit()`
function
- Checks `serviceUsageData.balances.asr_seconds.exceeded` for
transcription
- Checks `serviceUsageData.balances.mt_characters.exceeded` for
translation
- Returns error-type alert that blocks submission when quota is
exhausted
  - Gracefully handles missing serviceUsageData (returns inactive alert)

- **alertEvaluators.tests.ts**: Added 6 test cases for the new evaluator
  - Tests both transcription and translation quota scenarios
  - Tests some edge cases
  - Uses new serviceUsage.factory for clean, readable test data

- **serviceUsage.factory.ts**: New factory for creating mock service
usage data
  - Follows the pattern from `organizationServiceUsage.factory.ts`
- Helper function `createServiceUsage()` calculates balance values from
percentages
- Preset functions: `asrExceeded()`, `mtExceeded()`, `withinLimits()`,
`asrNearLimit()`, `mtNearLimit()`
- Returns complete `ServiceUsageResponse` objects with all required
fields
- Makes tests cleaner by replacing verbose inline mock data with simple
function calls

### 👀 Preview steps

Transcription minutes exceeded:
1. ℹ️ Have an account with 0 transcription minutes remaining
2. Go to Project → Data → Table for a project with audio submissions
3. Select one or more submissions with audio attachments
4. Open audio question column header menu → "Transcribe selected…"
5. 🟢 Notice the error alert appears
6. 🟢 Notice the "Create transcripts" button is disabled

Translation characters exceeded:
1. ℹ️ Have a project with transcript and an account with 0 translation
characters remaining
2. Go to Project → Data → Table
3. Select one submission with transcript
4. Open transcript column header menu → "... (continued)

9259 of 12599 branches covered (73.49%)

30214 of 37100 relevant lines covered (81.44%)

5.52 hits per line

Jobs
ID Job ID Ran Files Coverage
1 28447174544.1 30 Jun 2026 01:20PM UTC 888
49.62
2 28447174544.2 30 Jun 2026 01:20PM UTC 888
52.97
3 28447174544.3 30 Jun 2026 01:20PM UTC 888
44.45
4 28447174544.4 30 Jun 2026 01:21PM UTC 890
45.81
5 28447174544.5 30 Jun 2026 01:22PM UTC 890
54.24
6 28447174544.6 30 Jun 2026 01:22PM UTC 890
50.96
7 28447174544.7 30 Jun 2026 01:22PM UTC 888
58.95
8 28447174544.8 30 Jun 2026 01:24PM UTC 890
66.64
9 28447174544.9 30 Jun 2026 01:24PM UTC 890
60.11
10 28447174544.10 30 Jun 2026 01:24PM UTC 892
68.96
Source Files on build 28447174544
  • Tree
  • List 892
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 44a570b9 on github
  • Prev Build on main (#28427017855)
  • Next Build on main (#28511670524)
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