diff --git a/src/squarepay/tests.py b/src/squarepay/tests.py index 7ce503c2dd97ba78597f6ff6e4393132753573f6..be54a14313af3b9a80128b971afff3eefcd9e724 100644 --- a/src/squarepay/tests.py +++ b/src/squarepay/tests.py @@ -1,3 +1,29 @@ from django.test import TestCase +from django.conf import settings +from datetime import datetime -# Create your tests here. +from .cokelog import CokeLog + +class ParseCokeLog(TestCase): + def test_parse_cokelog(self): + fn = getattr(settings, 'COKELOG_PATH', None) + if fn is None: + return + + cokelog = CokeLog() + self.assertFalse(cokelog.is_loaded()) + cokelog.open() + self.assertTrue(cokelog.is_loaded()) + + self.assertIsInstance(cokelog.dispenses, dict) + for key, val in cokelog.dispenses.items(): + self.assertIsInstance(val, (list, tuple)) + for record in val: + self.assertIsInstance(record, dict) + self.assertTrue('by' in record) + self.assertTrue('item' in record) + self.assertIsInstance(record['date'], datetime) + + n = len(cokelog.dispenses) + cokelog.reload() + self.assertTrue(n == len(cokelog.dispenses))