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

kobotoolbox / kpi / 28447174544 / 2
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
Files 888
Run time 48s
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: 52.972%. Remained the same
28447174544.2

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)

5072 of 12460 branches covered (40.71%)

19605 of 37010 relevant lines covered (52.97%)

0.53 hits per line

Source Files on job 28447174544.2
  • Tree
  • List 888
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 28447174544
  • 44a570b9 on github
  • Prev Job for on main (#28427017855.2)
  • Next Job for on main (#28511670524.1)
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