Skip to content

Commit 4ef34c9

Browse files
John OlanipekunJohn Olanipekun
authored andcommitted
adding unit test for the models
1 parent 397abfb commit 4ef34c9

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
from django.test import TestCase
2+
from django.contrib.auth.models import User
3+
from FinTech.models import IncomeCategory, ExpenseCategory
4+
5+
class CategoryModelTest(TestCase):
6+
7+
def setUp(self):
8+
# Create a user for testing
9+
self.user = User.objects.create_user(username='testuser', password='testpass')
10+
11+
def test_income_category_creation(self):
12+
# Create an IncomeCategory instance
13+
income_category = IncomeCategory.objects.create(name='Salary', user=self.user)
14+
15+
# Check if the category was created successfully
16+
self.assertEqual(income_category.name, 'Salary')
17+
self.assertEqual(income_category.user, self.user)
18+
self.assertIsInstance(income_category, IncomeCategory)
19+
20+
def test_expense_category_creation(self):
21+
# Create an ExpenseCategory instance
22+
expense_category = ExpenseCategory.objects.create(name='Food', user=self.user)
23+
24+
# Check if the category was created successfully
25+
self.assertEqual(expense_category.name, 'Food')
26+
self.assertEqual(expense_category.user, self.user)
27+
self.assertIsInstance(expense_category, ExpenseCategory)
28+
29+
def test_income_category_str_method(self):
30+
# Create an IncomeCategory instance
31+
income_category = IncomeCategory.objects.create(name='Salary', user=self.user)
32+
33+
# Check if the string representation is correct
34+
self.assertEqual(str(income_category), 'Salary')
35+
36+
def test_expense_category_str_method(self):
37+
# Create an ExpenseCategory instance
38+
expense_category = ExpenseCategory.objects.create(name='Food', user=self.user)
39+
40+
# Check if the string representation is correct
41+
self.assertEqual(str(expense_category), 'Food')
42+
43+
def test_income_category_user_relationship(self):
44+
# Create an IncomeCategory instance
45+
income_category = IncomeCategory.objects.create(name='Bonus', user=self.user)
46+
47+
# Check if the user relationship is correct
48+
self.assertEqual(income_category.user.username, 'testuser')
49+
self.assertEqual(self.user.user_inc_catg.count(), 1) # Check that the user has 1 income category
50+
51+
def test_expense_category_user_relationship(self):
52+
# Create an ExpenseCategory instance
53+
expense_category = ExpenseCategory.objects.create(name='Transport', user=self.user)
54+
55+
# Check if the user relationship is correct
56+
self.assertEqual(expense_category.user.username, 'testuser')
57+
self.assertEqual(self.user.user_exp_catg.count(), 1) # Check that the user has 1 expense category

0 commit comments

Comments
 (0)