add a bunch of tests and fix problems with 'author' field and admin editing