Pular para conteúdo

Test finances account detail view

AccountAPIDetailTest

Bases: APITestCase

Testes para a classe AccountAPIDetail.

Esta classe contém testes para os métodos da classe AccountAPIDetail, que lida com operações detalhadas relacionadas a uma conta financeira específica do usuário.

Source code in finances/tests/test_finances_account_detail_view.py
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
class AccountAPIDetailTest(APITestCase):
    """
    Testes para a classe AccountAPIDetail.

    Esta classe contém testes para os métodos da classe AccountAPIDetail, que
    lida com operações detalhadas relacionadas a uma conta financeira
    específica do usuário.
    """

    def setUp(self):
        """
        Configuração inicial para os testes.

        Este método é executado antes de cada teste. Ele cria uma instância
        inicial de objeto Account necessária para os testes.
        """

        self.user = User.objects.create_user(
            username='user1',
            password='password1',
            first_name='Carlos',
            last_name='Alberto',
            email='carlos@email.com'
        )

        self.account = Account.objects.create(
            owner=self.user,
            name='Conta Corrente',
            balance=100.00
        )

        self.client = APIClient()
        self.client.force_authenticate(user=self.user)  # Authenticate as user

    def test_get(self):
        """
        Testa o método GET para obter a conta específica.

        Este teste verifica se o método GET retorna o status HTTP 200 OK para
        uma solicitação de listagem com detalhes de uma conta válida.
        """

        response = self.client.get(f'/api/account/{self.account.pk}/')
        self.assertEqual(response.status_code, status.HTTP_200_OK)

    def test_patch(self):
        """
        Testa o método PATCH para atualizar os dados de uma conta específica.

        Este teste verifica se o método PATCH retorna o status HTTP 200 OK para
        uma solicitação de atualização de conta válida.
        """

        data = {
            'name': 'Conta Poupança',
            'balance': 200.00
        }

        response = self.client.patch(
            f'/api/account/{self.account.pk}/',
            data=data,
            format='json'
        )

        self.assertEqual(response.status_code, status.HTTP_200_OK)

    def test_delete(self):
        """
        Testa o método DELETE para exclusão de uma conta específica.

        Este teste verifica se o método DELETE retorna o status HTTP 204 No
        Content para uma solicitação de exclusão de conta válida.
        """

        response = self.client.delete(f'/api/account/{self.account.pk}/')
        self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)

setUp()

Configuração inicial para os testes.

Este método é executado antes de cada teste. Ele cria uma instância inicial de objeto Account necessária para os testes.

Source code in finances/tests/test_finances_account_detail_view.py
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
def setUp(self):
    """
    Configuração inicial para os testes.

    Este método é executado antes de cada teste. Ele cria uma instância
    inicial de objeto Account necessária para os testes.
    """

    self.user = User.objects.create_user(
        username='user1',
        password='password1',
        first_name='Carlos',
        last_name='Alberto',
        email='carlos@email.com'
    )

    self.account = Account.objects.create(
        owner=self.user,
        name='Conta Corrente',
        balance=100.00
    )

    self.client = APIClient()
    self.client.force_authenticate(user=self.user)  # Authenticate as user

test_delete()

Testa o método DELETE para exclusão de uma conta específica.

Este teste verifica se o método DELETE retorna o status HTTP 204 No Content para uma solicitação de exclusão de conta válida.

Source code in finances/tests/test_finances_account_detail_view.py
74
75
76
77
78
79
80
81
82
83
def test_delete(self):
    """
    Testa o método DELETE para exclusão de uma conta específica.

    Este teste verifica se o método DELETE retorna o status HTTP 204 No
    Content para uma solicitação de exclusão de conta válida.
    """

    response = self.client.delete(f'/api/account/{self.account.pk}/')
    self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)

test_get()

Testa o método GET para obter a conta específica.

Este teste verifica se o método GET retorna o status HTTP 200 OK para uma solicitação de listagem com detalhes de uma conta válida.

Source code in finances/tests/test_finances_account_detail_view.py
42
43
44
45
46
47
48
49
50
51
def test_get(self):
    """
    Testa o método GET para obter a conta específica.

    Este teste verifica se o método GET retorna o status HTTP 200 OK para
    uma solicitação de listagem com detalhes de uma conta válida.
    """

    response = self.client.get(f'/api/account/{self.account.pk}/')
    self.assertEqual(response.status_code, status.HTTP_200_OK)

test_patch()

Testa o método PATCH para atualizar os dados de uma conta específica.

Este teste verifica se o método PATCH retorna o status HTTP 200 OK para uma solicitação de atualização de conta válida.

Source code in finances/tests/test_finances_account_detail_view.py
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
def test_patch(self):
    """
    Testa o método PATCH para atualizar os dados de uma conta específica.

    Este teste verifica se o método PATCH retorna o status HTTP 200 OK para
    uma solicitação de atualização de conta válida.
    """

    data = {
        'name': 'Conta Poupança',
        'balance': 200.00
    }

    response = self.client.patch(
        f'/api/account/{self.account.pk}/',
        data=data,
        format='json'
    )

    self.assertEqual(response.status_code, status.HTTP_200_OK)