コード例 #1
0
class UserTestCases(TestCase):
    """
    User model test cases.
    """
    def setUp(self) -> None:
        super().setUp()

        # Create users from UserFactory
        self.user = UserFactory()

    def tearDown(self) -> None:
        super().tearDown()

        User.objects.all().delete()

    def test_user_and_customer_can_be_created(self):
        self.assertEqual(self.user.id, 1)
        customer_obj = Customer.objects.get(account=self.user.id)
        self.assertEqual(customer_obj.email.email, self.user.email)

    def test_user_can_be_updated(self):
        update_data = {
            'email': factories.Faker('email').generate(),
        }
        for key, value in update_data.items():
            setattr(self.user, key, value)

        self.user.save()
        self.assertEqual(self.user.email, update_data['email'])

        # Check customer of this user
        customer_obj = Customer.objects.filter(account=self.user)[0]
        self.assertEqual(customer_obj.email.email, update_data['email'])

    def test_user_can_be_deleted(self):
        self.user.delete()
        self.assertEqual(self.user.id, None)
        customer = Customer.objects.filter(account=self.user.id)
        self.assertEqual(len(customer), 0)