add tests

This commit is contained in:
bugbountyguy 2022-03-02 21:00:06 -06:00 committed by Christopher Charbonneau Wells
parent 97b1b8d9ce
commit 44648ce33b
7 changed files with 149 additions and 0 deletions

View File

@ -129,6 +129,52 @@ class ChildAPITestCase(TestBase.BabyBuddyAPITestCaseBase):
self.assertEqual(response.data, entry)
class BreastpumpAPITestCase(TestBase.BabyBuddyAPITestCaseBase):
endpoint = reverse("api:breastpump-list")
model = models.Breastpump
def test_get(self):
response = self.client.get(self.endpoint)
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(
response.data["results"][0],
{
"id": 1,
"child": 1,
"amount": 50.0,
"time": "2017-11-17T12:52:00-05:00",
"notes": "new device",
},
)
def test_post(self):
data = {
"child": 1,
"amount": "21",
"time": "2017-11-20T22:52:00-05:00",
"notes": "old device",
}
response = self.client.post(self.endpoint, data, format="json")
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
obj = models.Breastpump.objects.get(pk=response.data["id"])
self.assertEqual(str(obj.amount), data["amount"])
self.assertEqual(obj.notes, data["notes"])
def test_patch(self):
endpoint = "{}{}/".format(self.endpoint, 1)
response = self.client.get(endpoint)
entry = response.data
entry["amount"] = 41
response = self.client.patch(
endpoint,
{
"amount": entry["amount"],
},
)
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(response.data, entry)
class DiaperChangeAPITestCase(TestBase.BabyBuddyAPITestCaseBase):
endpoint = reverse("api:diaperchange-list")
model = models.DiaperChange

View File

@ -0,0 +1,24 @@
child_id,amount,time
1,100.2,2020-02-17 09:31:49
1,99.62,2020-02-17 04:11:09
1,101.45,2020-02-17 00:14:09
1,97.41,2020-02-16 14:42:52
1,99.53,2020-02-16 11:28:41
1,98.92,2020-02-16 07:38:01
1,97.69,2020-02-15 22:53:01
1,98.37,2020-02-15 17:37:21
1,101.73,2020-02-15 07:51:45
1,98.31,2020-02-15 03:06:24
1,95.31,2020-02-14 12:12:28
1,99.5,2020-02-14 07:41:40
1,99.9,2020-02-13 18:05:46
1,98.33,2020-02-13 14:15:54
1,98.78,2020-02-13 09:39:03
1,98.51,2020-02-12 18:17:05
1,100.76,2020-02-12 05:54:01
1,98.96,2020-02-11 21:00:14
1,95.15,2020-02-11 17:33:04
1,95.89,2020-02-11 14:51:04
1,98.57,2020-02-11 08:30:34
1,99.16,2020-02-11 06:35:34
1,98.37,2020-02-10 10:25:06
1 child_id amount time
2 1 100.2 2020-02-17 09:31:49
3 1 99.62 2020-02-17 04:11:09
4 1 101.45 2020-02-17 00:14:09
5 1 97.41 2020-02-16 14:42:52
6 1 99.53 2020-02-16 11:28:41
7 1 98.92 2020-02-16 07:38:01
8 1 97.69 2020-02-15 22:53:01
9 1 98.37 2020-02-15 17:37:21
10 1 101.73 2020-02-15 07:51:45
11 1 98.31 2020-02-15 03:06:24
12 1 95.31 2020-02-14 12:12:28
13 1 99.5 2020-02-14 07:41:40
14 1 99.9 2020-02-13 18:05:46
15 1 98.33 2020-02-13 14:15:54
16 1 98.78 2020-02-13 09:39:03
17 1 98.51 2020-02-12 18:17:05
18 1 100.76 2020-02-12 05:54:01
19 1 98.96 2020-02-11 21:00:14
20 1 95.15 2020-02-11 17:33:04
21 1 95.89 2020-02-11 14:51:04
22 1 98.57 2020-02-11 08:30:34
23 1 99.16 2020-02-11 06:35:34
24 1 98.37 2020-02-10 10:25:06

View File

@ -194,6 +194,49 @@ class ChildFormsTestCase(FormsTestCaseBase):
self.assertContains(page, "Child entry deleted")
class BreastpumpFormsTestCase(FormsTestCaseBase):
@classmethod
def setUpClass(cls):
super(BreastpumpFormsTestCase, cls).setUpClass()
cls.bp = models.Breastpump.objects.create(
child=cls.child,
amount=50.0,
time=timezone.localtime() - timezone.timedelta(days=1),
)
def test_add(self):
params = {
"child": self.child.id,
"amount": "50.0",
"time": self.localtime_string(),
}
page = self.c.post("/breastpump/add/", params, follow=True)
self.assertEqual(page.status_code, 200)
self.assertContains(
page, "Breastpump entry for {} added".format(str(self.child))
)
def test_edit(self):
params = {
"child": self.bp.child.id,
"amount": self.bp.amount + 2,
"time": self.localtime_string(),
}
page = self.c.post("/breastpump/{}/".format(self.bp.id), params, follow=True)
self.assertEqual(page.status_code, 200)
self.bp.refresh_from_db()
self.assertEqual(self.bp.amount, params["amount"])
self.assertContains(
page, "Breastpump entry for {} updated".format(str(self.bp.child))
)
def test_delete(self):
page = self.c.post("/breastpump/{}/delete/".format(self.bp.id), follow=True)
self.assertEqual(page.status_code, 200)
self.assertContains(page, "Breastpump entry deleted")
class DiaperChangeFormsTestCase(FormsTestCaseBase):
@classmethod
def setUpClass(cls):

View File

@ -41,6 +41,9 @@ class ImportTestCase(TestCase):
def test_child(self):
self.import_data(models.Child, 2)
def test_breastpump(self):
self.import_data(models.Breastpump, 23)
def test_diaperchange(self):
self.import_data(models.DiaperChange, 75)

View File

@ -35,6 +35,24 @@ class ChildTestCase(TestCase):
self.assertEqual(models.Child.count(), 1)
class BreastpumpTestCase(TestCase):
def setUp(self):
call_command("migrate", verbosity=0)
self.child = models.Child.objects.create(
first_name="First", last_name="Last", birth_date=timezone.localdate()
)
self.temp = models.Breastpump.objects.create(
child=self.child,
time=timezone.localtime() - timezone.timedelta(days=1),
amount=98.6,
)
def test_breastpump_create(self):
self.assertEqual(self.temp, models.Breastpump.objects.first())
self.assertEqual(str(self.temp), "Breastpump")
self.assertEqual(self.temp.amount, 98.6)
class DiaperChangeTestCase(TestCase):
def setUp(self):
call_command("migrate", verbosity=0)

View File

@ -49,6 +49,18 @@ class ViewsTestCase(TestCase):
page = self.c.get("/children/{}/delete/".format(entry.slug))
self.assertEqual(page.status_code, 200)
def test_breastpump_views(self):
page = self.c.get("/breastpump/")
self.assertEqual(page.status_code, 200)
page = self.c.get("/breastpump/add/")
self.assertEqual(page.status_code, 200)
entry = models.Breastpump.objects.first()
page = self.c.get("/breastpump/{}/".format(entry.id))
self.assertEqual(page.status_code, 200)
page = self.c.get("/breastpump/{}/delete/".format(entry.id))
self.assertEqual(page.status_code, 200)
def test_diaperchange_views(self):
page = self.c.get("/changes/")
self.assertEqual(page.status_code, 200)

View File

@ -35,6 +35,9 @@ class ViewsTestCase(TestCase):
page = self.c.get(base_url)
self.assertEqual(page.status_code, 200)
page = self.c.get("{}/breastpump/amounts/".format(base_url))
self.assertEqual(page.status_code, 200)
page = self.c.get("{}/changes/amounts/".format(base_url))
self.assertEqual(page.status_code, 200)
page = self.c.get("{}/changes/lifetimes/".format(base_url))