vmesel/PyJobs

View on GitHub
pyjobs/core/tests/test_user_profile_model.py

Summary

Maintainability
B
5 hrs
Test Coverage
from datetime import datetime

from django.contrib.auth.models import User
from django.test import TestCase
import responses
from pyjobs.core.models import Profile


class ProfileTest(TestCase):
    @responses.activate
    def setUp(self):
        responses.add(
            responses.POST,
            "https://api.mailerlite.com/api/v2/subscribers",
            json={"status": "Success"},
            status=200,
        )

        self.user = User.objects.create_user(
            username="v@m.com",
            email="v@m.com",
            password="top_secret",
            first_name="Vinicius",
            last_name="Mesel",
        )
        self.profile = Profile(
            user=self.user,
            github="http://www.aaa.com.br",
            linkedin="http://www.aaa.com.br",
            portfolio="http://www.aaa.com.br",
        )
        self.profile.save()

    def test_create_profile_with_user(self):
        nome_real = "{} {}".format(self.user.first_name, self.user.last_name)
        self.assertTrue(str(self.profile), nome_real)

    def test_created(self):
        self.assertTrue(Profile.objects.exists())

    def test_created_at(self):
        self.assertIsInstance(self.profile.created_at, datetime)

    def test_repr_of_the_profile(self):
        self.assertEqual(
            self.profile.__repr__(),
            "{} {}".format(self.user.first_name, self.user.last_name),
        )