Add complete test coverage for models.py