def test_end(self, e): assert e.end == fiscalyear.FiscalYear(e.fiscal_year).end with fiscalyear.fiscal_calendar(*US_FEDERAL): assert e.end == datetime.datetime(2016, 9, 30, 23, 59, 59) with fiscalyear.fiscal_calendar(*UK_PERSONAL): assert e.end == datetime.datetime(2017, 4, 5, 23, 59, 59)
def test_start(self, a, e): assert a.start == fiscalyear.FiscalYear(a.fiscal_year).start assert e.start == fiscalyear.FiscalDateTime(2016, 9, 30, 0, 0, 0) with fiscalyear.fiscal_calendar(*US_FEDERAL): assert a.start == datetime.datetime(2015, 10, 1, 0, 0, 0) with fiscalyear.fiscal_calendar(*UK_PERSONAL): assert a.start == datetime.datetime(2016, 4, 6, 0, 0, 0)
def test_contains(self, a, f, g): assert a not in f assert f in g assert fiscalyear.FiscalDateTime(2016, 8, 1, 0, 0, 0) in a assert datetime.datetime(2016, 8, 1, 0, 0, 0) in a assert fiscalyear.FiscalDate(2016, 8, 1) in a assert datetime.date(2016, 8, 1) in a with pytest.raises(TypeError): fiscalyear.FiscalYear(2016) in a
def test_contains(self, a, b, c, f): assert b in c assert a not in f assert fiscalyear.FiscalDateTime(2015, 10, 1, 0, 0, 0) in a assert datetime.datetime(2015, 10, 1, 0, 0, 0) in a assert fiscalyear.FiscalDate(2015, 10, 1) in a assert datetime.date(2015, 10, 1) in a assert b in fiscalyear.FiscalMonth(2016, 1) assert b in fiscalyear.FiscalQuarter(2016, 1) assert b in fiscalyear.FiscalYear(2016) with pytest.raises(TypeError): "hello world" in a
def get_udid(payload): ''' Here we are generating udid params - payload: request body ''' udid = "" try: gstin = payload.get('User_GSTIN') if not gstin: gstin = payload.get('SellerDtls', {}).get('Gstin', '') fiscalyear.START_MONTH = FIN_STRT_MNTH cur_y = fiscalyear.FiscalYear(datetime.datetime.strptime(\ payload['DocDtls']['Dt'], '%Y-%m-%d').year) fin_y = cur_y.start.date().strftime( '%Y') + "-" + cur_y.end.date().strftime('%y') if gstin and payload.get('DocDtls', {}).get('Typ') and payload.get( 'DocDtls', {}).get('No'): udid = gstin + fin_y + payload['DocDtls']['Typ'] + \ payload['DocDtls']['No'] except Exception as error: LOGGER.error(f"exception on udid creating") return udid
def test_out_of_range(self): with pytest.raises(ValueError): fiscalyear.FiscalYear(0) with pytest.raises(ValueError): fiscalyear.FiscalYear(-2017)
def test_wrong_type(self): with pytest.raises(TypeError): fiscalyear.FiscalYear(2017.5) with pytest.raises(TypeError): fiscalyear.FiscalYear("hello world")
def test_current(self, mocker): mock_today = mocker.patch.object(fiscalyear.FiscalDate, "today") mock_today.return_value = fiscalyear.FiscalDate(2016, 10, 1) current = fiscalyear.FiscalYear.current() assert current == fiscalyear.FiscalYear(2017)
def g(self): return fiscalyear.FiscalYear(2015)
def fiscal_year_bookends(fiscal_year=None): if fiscal_year is None: fiscal_year = current_fiscal_year() fy = FY.FiscalYear(fiscal_year) return (fy.start.date(), fy.end.date())
def b(self): return fiscalyear.FiscalYear(2017)
def a(self): return fiscalyear.FiscalYear(2016)
def test_next_fiscal_year(self, a): assert a.next_fiscal_year == fiscalyear.FiscalYear(2018)
def test_prev_fiscal_year(self, a): assert a.prev_fiscal_year == fiscalyear.FiscalYear(2016)
def c(self): return fiscalyear.FiscalYear('2017')
def fiscal_year(fiscal_year=None): if fiscal_year is None: fiscal_year = current_fiscal_year() return FY.FiscalYear(fiscal_year)
def c(self): return fiscalyear.FiscalYear("2017")
def current_fiscal_year_object(today=None): year = current_fiscal_year(today=today) return FY.FiscalYear(year)