# Path: api_v3/factories/profile.py
# class ProfileFactory(DjangoModelFactory):
# 
#     class Meta:
#         model = Profile
# 
#     email = Faker('email')
#     first_name = Faker('first_name')
#     last_name = Faker('last_name')
#     bio = Faker('job')
#     last_login = Faker('past_date', start_date='-30d')
# 
# Path: api_v3/tests/views/support.py
# class ApiTestCase(TestCase):
#     JSON_API_CONTENT_TYPE = 'application/vnd.api+json'
#     def as_jsonapi_payload(self, serializer_class, obj, update={}):


from api_v3.factories import ProfileFactory
from .support import TestCase, APIClient, reverse


class AuthEndpointTestCase(TestCase):

    def setUp(self):
        self.client = APIClient()

    def test_login(self):
        response = self.client.get(reverse('login-list'))

        self.assertEqual(response.status_code, 302)

    def test_logout(self):
        profile = ProfileFactory.create()
        self.client.force_authenticate(profile)

# Path: api_v3/factories/profile.py
# class ProfileFactory(DjangoModelFactory):
# 
#     class Meta:
#         model = Profile
# 
#     email = Faker('email')
#     first_name = Faker('first_name')
#     last_name = Faker('last_name')
#     bio = Faker('job')
#     last_login = Faker('past_date', start_date='-30d')
# 
# Path: api_v3/tests/views/support.py
# class ApiTestCase(TestCase):
#     JSON_API_CONTENT_TYPE = 'application/vnd.api+json'
#     def as_jsonapi_payload(self, serializer_class, obj, update={}):


# Path: api_v3/tests/views/test_auth.py
from api_v3.factories import ProfileFactory
from .support import TestCase, APIClient, reverse



class AuthEndpointTestCase(TestCase):

    def setUp(self):
        self.client = APIClient()

    def test_login(self):
        response = self.client.get(reverse('login-list'))

        self.assertEqual(response.status_code, 302)

    def test_logout(self):
        profile = ProfileFactory.create()
        self.client.force_authenticate(profile)

        response = self.client.get(reverse('logout-detail', args=[profile.id]))