A first test, with a custom Mixer factory that handles autoslugs
Category tests
Tests caught a bug!  Was retuning number of unvoted rather than voted competitions in category
MySQL casts the result of integer division to a Decimal, but SQLite treats it as an integer and rounds down.  Since SQLite calls its decimal/float types "REAL" instead of "DECIMAL", accommodate both by multiplying the numerator by 1.0 to force the entire expression to a float/decimal type.
Test win percentage ordering.
More Candidate model tests
Testing uncovered DoesNotExist exception.
Competition model and manager tests
Form tests (for which we're using the Mock library)
Test a couple additional cases to improve test coverage
Stub view tests
CompetitionView tests and some view testing utilities
VoteView tests
CandidateView and LeaderboardView tests
CategoryListView tests
Test mixins from utils module.
Stub out integration test cases
Integration tests for absolute URLs, CompetitionView, VoteView
Refactor data generation for leaderboard-related tests, as it's long and repetitive and used in multiple places
Integration tests for remaining views