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

magfest / ubersystem / 5881
46%

Build:
DEFAULT BRANCH: master
Ran 08 Oct 2018 04:52PM UTC
Jobs 1
Files 87
Run time 7s
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

pending completion
5881

push

travis-ci

web-flow
Track individual attendees' and groups' share of each StripeTransaction (#3310)

* Track individual attendees' and groups' share of each StripeTransaction
Major overhaul of the stripe transaction and refund system to fix https://jira.magfest.net/browse/MAGDEV-286 and https://jira.magfest.net/browse/MAGDEV-287. We add many-to-many relationship tables that also track each attendee (or group)'s "share" of a transaction.

* Add data migration for multi-model StripeTransactions
This migration hinges on one very important fact: multi-model Stripe transactions ONLY occur when a model is first being created. That means, rather than faffing around and making guesses, we just need to pull the model's `amount_paid` from the Tracking object for its creation. The only major failure point left, then, is that we have to find Attendees and Groups by their name (pulled from the Stripe Transaction's description, the only record of who is in the transaction). This migration gets around that by checking the number of groups and attendees matching a name against the number of times the name occurs in the transaction's description -- if there's a mismatch, it throws an error rather than attempting to create tables for those attendees and groups.

Currently, the migration is in 'test' mode -- it won't commit changes if it detects an error, and downgrading simply destroys the new tables (which the upgrade created, so we're not losing data). This allowed easy testing with my local data, but we should still back up the server before trying this just in case.

* Fix unit tests and handle edge cases found in manual migration tests
I never did recreate the "Key is not present in table" error, but I found many others. Did you know we sometimes create a charge for a model with no `amount_unpaid` on it? I didn't!

* Minor code cleanup

* Allow for Stripe Transactions without attendees
This was actually caused by an import error, but it's a good error to catch.

* Acc... (continued)

6380 of 13693 relevant lines covered (46.59%)

0.47 hits per line

Jobs
ID Job ID Ran Files Coverage
2 5881.2 (TOX_ENV=py34) 08 Oct 2018 04:52PM UTC 0
46.59
Travis Job 5881.2
Source Files on build 5881
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #5881
  • 919dcf87 on github
  • Prev Build on master (#5878)
  • Next Build on master (#5883)
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