def create_booking_for(user: User, stock: Stock, token: str) -> Booking: booking = Booking() booking.stock = stock booking.user = user booking.quantity = 1 booking.amount = 0 booking.dateCreated = datetime.utcnow() booking.isCancelled = False booking.isUsed = False booking.token = token return booking
def create_booking(user, stock=None, venue=None, recommendation=None, quantity=1, date_created=datetime.utcnow(), date_used=None, is_cancelled=False, is_used=False, token=None, idx=None, amount=None): booking = Booking() if venue is None: offerer = create_offerer('987654321', 'Test address', 'Test city', '93000', 'Test name') venue = create_venue(offerer, 'Test offerer', '*****@*****.**', '123 rue test', '93000', 'Test city', '93') if stock is None: product_with_thing_type = create_offer_with_thing_product(venue) stock = create_stock_with_thing_offer(offerer, venue, product_with_thing_type, price=10) booking.stock = stock booking.user = user if token is None: booking.token = random_token() else: booking.token = token if amount is None: booking.amount = stock.price else: booking.amount = amount booking.quantity = quantity booking.dateCreated = date_created if recommendation: booking.recommendation = recommendation elif not stock.offer: offer = create_offer_with_thing_product(venue) booking.recommendation = create_recommendation(offer, user) else: booking.recommendation = create_recommendation(stock.offer, user) booking.isCancelled = is_cancelled booking.isUsed = is_used booking.dateUsed = date_used if idx: booking.id = idx return booking