예제 #1
0
    def test_complete(self):
        station = self.create_station()
        today = localdate(2007, 1, 1)
        reduction_date = localdatetime(2007, 1, 1, 23, 59)
        day = FiscalDayHistory(store=self.store,
                               emission_date=today,
                               station=station,
                               serial=u'Stoqlib test serial',
                               serial_id=1,
                               coupon_start=1,
                               coupon_end=23,
                               crz=18,
                               cro=25,
                               period_total=Decimal("456.00"),
                               total=Decimal("123141.00"),
                               reduction_date=reduction_date)
        for code, value, type in [(u'2500', Decimal("123.00"), u'ICMS'),
                                  (u'F', Decimal("789.00"), u'ICMS')]:
            FiscalDayTax(fiscal_day_history=day,
                         code=code,
                         value=value,
                         type=type,
                         store=self.store)

        branch = get_current_branch(self.store)
        user = self.create_employee()
        branch.manager = user
        manager = branch.manager.person
        company = branch.person.company
        address = branch.person.get_main_address()

        start = today + relativedelta(day=1)
        end = today + relativedelta(day=31)

        s = SintegraFile()
        s.add_header(company.get_cnpj_number(), u'110042490114',
                     branch.get_description(), address.get_city(),
                     address.get_state(),
                     branch.person.get_fax_number_number(), start, end)
        # if we don't a street number, use zero for sintegra
        s.add_complement_header(address.street, address.streetnumber or 0,
                                address.complement, address.district,
                                address.get_postal_code_number(), manager.name,
                                branch.person.get_phone_number_number())

        for item in self.store.find(FiscalDayHistory):
            s.add_fiscal_coupon(item.emission_date, item.serial,
                                item.serial_id, item.coupon_start,
                                item.coupon_end, item.cro, item.crz,
                                item.period_total, item.total)
            for tax in item.taxes:
                s.add_fiscal_tax(item.emission_date, item.serial, tax.code,
                                 tax.value)
        s.close()

        try:
            compare_sintegra_file(s, 'sintegra')
        except AssertionError as e:
            self.fail(e)
예제 #2
0
    def __init__(self, store, start, end):
        self.store = store
        self.start = start
        self.end = end
        self.sintegra = SintegraFile()

        self._add_header()
        self.sintegra.close()