def _get_berth_order_context(subject: str = "Berth order"): customer = CustomerProfileFactory.build() order = OrderFactory.build( customer=customer, product=BerthProductFactory.build(), lease=BerthLeaseFactory.build( customer=customer, # Fixed to a harbor with a real image berth__pier__harbor__image_file="/img/helsinki_harbors/41189.jpg", ), price=Decimal("100"), tax_percentage=Decimal("24.00"), ) optional_services = [ OrderLineFactory.build( order=order, product__service=ProductServiceType.OPTIONAL_SERVICES()[0], price=random_price(), ), OrderLineFactory.build( order=order, product__service=ProductServiceType.OPTIONAL_SERVICES()[1], price=random_price(), ), ] return _get_order_context(subject, order, optional_services)
def _get_berth_switch_offer_context(subject: str = "Berth offer"): customer = CustomerProfileFactory.build() offer = BerthSwitchOfferFactory.build( customer=customer, application=BerthApplicationFactory.build(customer=customer), berth=BerthFactory.build(), lease=BerthLeaseFactory.build( customer=customer, # Fixed to a harbor with a real image berth__pier__harbor__image_file="/img/helsinki_harbors/41189.jpg", ), ) return _get_offer_context(subject, offer)
def _get_cancelled_order_context(subject: str = "Order cancelled"): customer = CustomerProfileFactory.build() return { "subject": subject, "order": { **factory.build( dict, FACTORY_CLASS=OrderFactory, customer=customer, status=OrderStatus.CANCELLED, product=BerthProductFactory.build(), lease=BerthLeaseFactory.build(customer=customer), price=Decimal("100"), tax_percentage=Decimal("24.00"), ), }, "rejected_at": str(datetime.date.today( )), # language not known at this point, default to ISO format }
def _get_refunded_order_context(subject: str = "Order refunded"): customer = CustomerProfileFactory.build() return { "subject": get_email_subject(NotificationType.ORDER_REFUNDED), "order": { **factory.build( dict, FACTORY_CLASS=OrderFactory, customer=customer, status=OrderStatus.REFUNDED, product=BerthProductFactory.build(), lease=BerthLeaseFactory.build(customer=customer), price=Decimal("100"), tax_percentage=Decimal("24.00"), order_number="1234567abc", ), }, "refund": { "amount": Decimal("100") }, }