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

kobotoolbox / kpi / 21447864952
81%
master: 76%

Build:
Build:
LAST BUILD BRANCH: dev-1259-remove-metadata-endpoints
DEFAULT BRANCH: master
Ran 28 Jan 2026 05:39PM UTC
Jobs 2
Files 881
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

28 Jan 2026 05:05PM UTC coverage: 81.35% (+0.002%) from 81.348%
21447864952

push

github

web-flow
fix(projectOwnership): only restart transfers that have been accepted DEV-1643 (#6655)

### đŸ“Ŗ Summary
Ensure that project transfers only begin after the recipient has
accepted the invitation, preventing projects from being moved before the
transfer is authorized.

### Notes
This PR also contains an adjustment to ensure that invitations that are
auto-accepted are marked as accepted as soon as they are created to
avoid getting stuck in "pending" if the task fails.

### 👀 Preview steps

1. â„šī¸ have an account (userA) and a project
2. Transfer the project to userB
3. Do NOT click on the link in the email userB received for the transfer
4. Wait for several minutes 
5. 🔴 [on release] Refresh userB's project list and see the project has
been transferred
6. 🔴 [on release] Try to click on the link (logged in as userB) and
receive an error that the invite has expired
7. đŸŸĸ [on pr] Refresh userB's project list and see the project has NOT
been transferred
8. đŸŸĸ [on pr] Try to click on the link (logged in as userB) and
successfully transfer the project

To test org invitations:
1. Have an account with an mmo
2. Have another account with a project
3. Invite userB to the mmo
4. Update `project_ownership.utils.create_invite` to error just outside
of the transaction block (eg by adding `x = 1/0`)
5. Restart the kpi_worker
6. As userB, accept the invite
7. Remove the error line
8. Restart the kpi_worker
9. Notice the transfer is restarted and successfully completes

---------

Co-authored-by: rgraber <becca.graber@kobotoolbox.org>

7191 of 11271 branches covered (63.8%)

7 of 7 new or added lines in 2 files covered. (100.0%)

27773 of 34140 relevant lines covered (81.35%)

1.6 hits per line

Jobs
ID Job ID Ran Files Coverage
1 21447864952.1 28 Jan 2026 05:39PM UTC 879
78.99
2 21447864952.2 28 Jan 2026 05:45PM UTC 881
81.31
Source Files on build 21447864952
  • Tree
  • List 881
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 6bd68490 on github
  • Prev Build on release/2.025.47 (#21217311342)
  • Next Build on release/2.025.47 (#21468428430)
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