AO3 News

Post Header

2017-01-05 08:08:45 -0500

We deployed several batches of new code over the holidays, the vast majority of which concerned our automated tests and preparations for a major Rails upgrade. Happy New Year!


  • Coders: Ariana, Cesy, cosette, cresenne, james, potatoesque, Sarken
  • Code reviewers: Ariana, james, Naomi, Sarken
  • Testers: james, Lady Oscar, Sarken

Special thanks to cosette, cresenne, and potatoesque, who have contributed their first pull requests as AD&T volunteers and completed their training!



  • [AO3-4730] - Made the output of our Cucumber tests more informative by adding the name of each test to the happy green dots that signify a successful run.
  • [AO3-4705] - Added another test for downloading works.
  • [AO3-4761] - Extended the tests for our internal API.
  • [AO3-4762] - Added a test for admins deleting an email address from the invite request queue.
  • [AO3-4707] - Improved test coverage for related works.
  • [AO3-4767] - Ditto for external works.
  • [AO3-4768] - Also improved our tests for displaying series.
  • [AO3-4773] - Extended test coverage for our Known Issues page.
  • [AO3-4777] - Completely unrelatedly, we've added more tests for prompt memes.
  • [AO3-4785] - And for user profiles.
  • [AO3-4722] - We also added more tests covering work-related errors.
  • [AO3-4772] - And more tests for tag set nominations.
  • [AO3-4734] - Also extended coverage for tag sets by removing a bit of code that wasn't actually used. Sneaky!
  • [AO3-4746] - Likewise, we removed several unused pieces of code concerning the display of external authors (i.e. authors of non-AO3 works and AO3 user had added to their bookmarks) and thus increased test coverage through the awesome power of maths.
  • [AO3-4802] - We also added some actual tests for external authors, though.
  • [AO3-4769] - Removed a #TODO comment for test cases that were, actually, done.
  • [AO3-4770] - Same.
  • [AO3-4724] - Sometimes different parts of our rspec tests were getting in each other's way in checking different parts of the code. We've made it easier to have a full reset step between each test to prevent these issues.
  • [AO3-4776] - We'd also run into issues with the tool we use to measure our test coverage and have now taken steps to prevent faulty results if a test has to be retried.


  • [AO3-4737] - Started the long, grueling path towards a significantly more up-to-date Rails version by rewriting a small part of the code controlling the public Wrangling Guidelines (namely to switch to strong parameters). This will be followed by many, many more small parts of our code, until we're ready for Rails 4.0.
  • [AO3-4752] - Such as the chunk of code controlling abuse reports!
  • [AO3-4753] - And admin settings!
  • [AO3-4755] - And notification banners!
  • [AO3-4756] - And the code for adding and managing languages.
  • [AO3-4757] - Also amended the Preferences code to use strong parameters.
  • [AO3-4758] - Ditto for admin posts, such as this one!
  • [AO3-4759] - Also for Support tickets.
  • [AO3-4763] - And for creating a new pseud.
  • [AO3-4764] - And finally for creating and updating a collection!

A Bug Fix

  • [AO3-4795] - Filtering a user's or collection's works for a particular fandom, character, rating and so on, and then trying to sort that subset of works (e.g. by kudos) would kick you out of the filtered view and back to all works. Now you can filter and sort at the same time again!


Known Issues

See our Known Issues page for current issues.