예제 #1
0
    def test_generated_files(self):
        due_date = datetime.datetime(2011, 10, 24)
        sale = self._create_sale(1666, due_date=due_date)
        sale.identifier = 1234
        for p in sale.payments:
            p.identifier = 4321
        generator = NFeGenerator(sale, self.store)

        # If we generate random cnf, the test will always fail
        _get_random_cnf = NFeIdentification._get_random_cnf
        NFeIdentification._get_random_cnf = lambda s: 10000001
        # Mimic today behavior
        _get_today_date = NFeGenerator._get_today_date
        NFeGenerator._get_today_date = lambda s: due_date

        generator.generate()
        NFeIdentification._get_random_cnf = _get_random_cnf
        NFeGenerator._get_today_date = _get_today_date

        basedir = get_tests_datadir('plugins')
        expected = os.path.join(basedir, "nfe-expected.txt")
        output = os.path.join(basedir, "nfe-output.txt")
        if not os.path.isfile(expected):
            with open(expected, 'wb') as fp:
                fp.write(strip_accents(generator._as_txt()))
            return
        with open(output, 'wb') as fp:
            fp.write(strip_accents(generator._as_txt()))

        # Diff and compare
        diff = diff_files(expected, output)
        os.unlink(output)

        self.failIf(diff, '%s\n%s' % ("Files differ, output:", diff))
예제 #2
0
    def test_invalid_cnpj(self):
        sale = self._create_sale(2666)
        company = sale.branch.person.company
        company.cnpj = u'123.321.678/4567-90'

        generator = NFeGenerator(sale, self.store)
        generator.sale_id = 2345
        generator.payment_ids = [5432]
        self.assertRaises(ModelDataError, generator.generate)
예제 #3
0
    def test_invalid_cnpj(self):
        sale = self._create_sale(2666)
        company = sale.branch.person.company
        company.cnpj = u'123.321.678/4567-90'

        generator = NFeGenerator(sale, self.store)
        generator.sale_id = 2345
        generator.payment_ids = [5432]
        self.assertRaises(ModelDataError, generator.generate)
예제 #4
0
파일: test_nfe.py 프로젝트: tmaxter/stoq
    def test_generated_files(self):
        due_date = datetime.datetime(2011, 10, 24)
        sale = self._create_sale(1666, due_date=due_date)
        generator = NFeGenerator(sale, self.store)

        # If we generate random cnf, the test will always fail
        _get_random_cnf = NFeIdentification._get_random_cnf
        NFeIdentification._get_random_cnf = lambda s: 10000001
        # Mimic today behavior
        _get_today_date = NFeGenerator._get_today_date
        NFeGenerator._get_today_date = lambda s: due_date

        generator.sale_id = 1234
        generator.payment_ids = [4321]
        generator.generate()
        NFeIdentification._get_random_cnf = _get_random_cnf
        NFeGenerator._get_today_date = _get_today_date

        basedir = get_tests_datadir('plugins')
        expected = os.path.join(basedir, "nfe-expected.txt")
        output = os.path.join(basedir, "nfe-output.txt")
        if not os.path.isfile(expected):
            with open(expected, 'wb') as fp:
                fp.write(strip_accents(generator._as_txt()))
            return
        with open(output, 'wb') as fp:
            fp.write(strip_accents(generator._as_txt()))

        # Diff and compare
        diff = diff_files(expected, output)
        os.unlink(output)

        self.failIf(diff, '%s\n%s' % ("Files differ, output:", diff))
예제 #5
0
    def _test_generated_files(self, new_client=None):
        due_date = datetime.datetime(2011, 10, 24, 0, 0, 0, 0)
        sale = self._create_sale(1666, due_date=due_date)
        sale.identifier = 1234
        if new_client:
            sale.client = new_client
        for p in sale.payments:
            p.identifier = 4321
        generator = NFeGenerator(sale, self.store)

        # If we generate random cnf, the test will always fail
        _get_random_cnf = NFeIdentification._get_random_cnf
        NFeIdentification._get_random_cnf = lambda s: 10000001
        # Mimic now_datetime behavior
        _get_now_datetime = NFeGenerator._get_now_datetime
        NFeGenerator._get_now_datetime = lambda s: due_date

        generator.generate()
        NFeIdentification._get_random_cnf = _get_random_cnf
        NFeGenerator._get_now_datetime = _get_now_datetime

        basedir = get_tests_datadir('plugins')

        if new_client is None:
            expected = os.path.join(basedir, "nfe-expected.txt")
        elif isinstance(sale.get_client_role(), Individual):
            expected = os.path.join(basedir, "individual-nfe-expected.txt")
        else:
            expected = os.path.join(basedir, "company-nfe-expected.txt")

        output = os.path.join(basedir, "nfe-output.txt")
        if not os.path.isfile(expected):
            with open(expected, 'wb') as fp:
                fp.write(strip_accents(generator._as_txt()))
            return
        with open(output, 'wb') as fp:
            fp.write(strip_accents(generator._as_txt()))

        # Diff and compare
        diff = diff_files(expected, output)
        os.unlink(output)

        self.failIf(diff, '%s\n%s' % ("Files differ, output:", diff))
예제 #6
0
    def _test_generated_files(self, new_client=None):
        due_date = datetime.datetime(2011, 10, 24, 0, 0, 0, 0)
        sale = self._create_sale(1666, due_date=due_date)
        sale.identifier = 1234
        if new_client:
            sale.client = new_client
        for p in sale.payments:
            p.identifier = 4321
        generator = NFeGenerator(sale, self.store)

        # If we generate random cnf, the test will always fail
        _get_random_cnf = NFeIdentification._get_random_cnf
        NFeIdentification._get_random_cnf = lambda s: 10000001
        # Mimic now_datetime behavior
        _get_now_datetime = NFeGenerator._get_now_datetime
        NFeGenerator._get_now_datetime = lambda s: due_date

        generator.generate()
        NFeIdentification._get_random_cnf = _get_random_cnf
        NFeGenerator._get_now_datetime = _get_now_datetime

        basedir = get_tests_datadir('plugins')

        if new_client is None:
            expected = os.path.join(basedir, "nfe-expected.txt")
        elif isinstance(sale.get_client_role(), Individual):
            expected = os.path.join(basedir, "individual-nfe-expected.txt")
        else:
            expected = os.path.join(basedir, "company-nfe-expected.txt")

        output = os.path.join(basedir, "nfe-output.txt")
        if not os.path.isfile(expected):
            with open(expected, 'wb') as fp:
                fp.write(strip_accents(generator._as_txt()).encode())
            return
        with open(output, 'wb') as fp:
            fp.write(strip_accents(generator._as_txt()).encode())

        # Diff and compare
        diff = diff_files(expected, output)
        os.unlink(output)

        self.assertFalse(diff, '%s\n%s' % ("Files differ, output:", diff))
예제 #7
0
 def _create_nfe(self, operation, store, operation_dir=''):
     if self._can_create_nfe(operation):
         generator = NFeGenerator(operation, store)
         generator.generate()
         generator.export_txt(
             location=self._get_save_location(operation_dir))
예제 #8
0
파일: nfeui.py 프로젝트: Guillon88/stoq
 def _create_nfe(self, operation, store, operation_dir=''):
     if self._can_create_nfe(operation):
         generator = NFeGenerator(operation, store)
         generator.generate()
         generator.export_txt(location=self._get_save_location(operation_dir))
예제 #9
0
파일: nfeui.py 프로젝트: Joaldino/stoq
 def _create_nfe(self, sale, store):
     if self._can_create_nfe(sale):
         generator = NFeGenerator(sale, store)
         generator.generate()
         generator.export_txt(location=self._get_save_location())
예제 #10
0
파일: nfeui.py 프로젝트: tmaxter/stoq
 def _create_nfe(self, sale, store):
     if self._can_create_nfe(sale):
         generator = NFeGenerator(sale, store)
         generator.generate()
         generator.export_txt(location=self._get_save_location())