from django.test import SimpleTestCase

from api.spending import categorize_ncm
from notas.planilha import DEFAULT_NCM_ROW, TEMPLATE_PATH, _ncm_row


class PlanilhaMappingTests(SimpleTestCase):
    def test_template_exists(self):
        self.assertTrue(TEMPLATE_PATH.exists(), TEMPLATE_PATH)

    def test_ncm_rows(self):
        self.assertEqual(_ncm_row(categorize_ncm(7031010)[0]), 67)       # hortifruti → Feira
        self.assertEqual(_ncm_row(categorize_ncm(19059090)[0]), 68)      # padaria
        self.assertEqual(_ncm_row(categorize_ncm(30049099)[0]), 70)      # farmaceuticos
        self.assertEqual(_ncm_row(categorize_ncm(27101259)[0]), 64)      # combustiveis
        self.assertEqual(_ncm_row(categorize_ncm(61091000)[0]), 97)      # vestuario
        self.assertEqual(_ncm_row(categorize_ncm(39241000)[0]), 85)      # casa
        self.assertEqual(_ncm_row(categorize_ncm(85171231)[0]), 96)      # eletronicos
        self.assertEqual(_ncm_row(categorize_ncm(21069090)[0]), DEFAULT_NCM_ROW)  # mercearia → Super
        self.assertEqual(_ncm_row(categorize_ncm(99999999)[0]), DEFAULT_NCM_ROW)
