Added user side tests. Updated pet create to use a more robust join relationship

- Added user side tests (I realize this is an unreadable mess, so it's rejectable as needed)
- Fixed Pet creation to create joins more robustly