def dateRange(self) -> DateTimes: if self.isThing or not self.activeStocks: return DateTimes() start = min([stock.beginningDatetime for stock in self.activeStocks]) end = max([stock.beginningDatetime for stock in self.activeStocks]) return DateTimes(start, end)
def dateRange(self) -> DateTimes: if ProductType.is_thing(self.type) or not self.activeStocks: return DateTimes() start = min([stock.beginningDatetime for stock in self.activeStocks]) end = max([stock.beginningDatetime for stock in self.activeStocks]) return DateTimes(start, end)
def test_event_offer(self): offer = factories.EventOfferFactory() first = datetime.datetime.now() + datetime.timedelta(days=1) last = datetime.datetime.now() + datetime.timedelta(days=5) factories.StockFactory(offer=offer, beginningDatetime=first) factories.StockFactory(offer=offer, beginningDatetime=last) assert offer.dateRange == DateTimes(first, last)
def test_deleted_stock_is_ignored(self): offer = factories.EventOfferFactory() factories.StockFactory(offer=offer, isSoftDeleted=True) assert offer.dateRange == DateTimes()
def test_no_stock(self): offer = factories.EventOfferFactory() assert offer.dateRange == DateTimes()
def test_single_stock(self): offer = factories.EventOfferFactory() stock = factories.StockFactory(offer=offer) assert offer.dateRange == DateTimes(stock.beginningDatetime, stock.beginningDatetime)
def test_thing_offer(self): offer = factories.ThingOfferFactory() factories.StockFactory(offer=offer) assert offer.dateRange == DateTimes()