saleor-dashboard/src/storybook/stories/orders/OrderDetailsPage.tsx
Dawid 2c97b2da41
Move fulfillment warehouse selection to fulfilll page (#2199)
* Move order fulfillment warehouse selection to fulfill page

* Use modal to select warehouse on fulfill order page

* Remove tracking number input from fulfill order page

* Update visual structure of fulfill order page

* Fix fulfill order page styles

* Update order fulfill utils
2022-08-02 14:57:18 +02:00

162 lines
3.7 KiB
TypeScript

import placeholderImage from "@assets/images/placeholder60x60.png";
import {
FulfillmentStatus,
OrderStatus,
PaymentChargeStatusEnum,
} from "@saleor/graphql";
import { storiesOf } from "@storybook/react";
import React from "react";
import OrderDetailsPage, {
OrderDetailsPageProps,
} from "../../../orders/components/OrderDetailsPage";
import {
order as orderFixture,
shop as shopFixture,
} from "../../../orders/fixtures";
import Decorator from "../../Decorator";
const order = orderFixture(placeholderImage);
const props: Omit<OrderDetailsPageProps, "classes"> = {
disabled: false,
onBillingAddressEdit: undefined,
onFulfillmentApprove: () => undefined,
onFulfillmentCancel: () => undefined,
onFulfillmentTrackingNumberUpdate: () => undefined,
onInvoiceClick: () => undefined,
onInvoiceGenerate: () => undefined,
onInvoiceSend: () => undefined,
onNoteAdd: undefined,
onOrderCancel: undefined,
onOrderFulfill: undefined,
onOrderReturn: () => undefined,
onPaymentCapture: undefined,
onPaymentPaid: undefined,
onPaymentRefund: undefined,
onPaymentVoid: undefined,
onProductClick: undefined,
onProfileView: () => undefined,
onShippingAddressEdit: undefined,
onSubmit: () => undefined,
order,
shop: shopFixture,
saveButtonBarState: "default",
};
storiesOf("Views / Orders / Order details", module)
.addDecorator(Decorator)
.add("default", () => <OrderDetailsPage {...props} />)
.add("loading", () => <OrderDetailsPage {...props} order={undefined} />)
.add("pending payment", () => (
<OrderDetailsPage
{...props}
order={{
...props.order,
paymentStatus: PaymentChargeStatusEnum.NOT_CHARGED,
}}
/>
))
.add("payment error", () => (
<OrderDetailsPage
{...props}
order={{
...props.order,
paymentStatus: PaymentChargeStatusEnum.NOT_CHARGED,
}}
/>
))
.add("payment confirmed", () => (
<OrderDetailsPage
{...props}
order={{
...props.order,
paymentStatus: PaymentChargeStatusEnum.FULLY_CHARGED,
}}
/>
))
.add("no payment", () => (
<OrderDetailsPage
{...props}
order={{
...props.order,
paymentStatus: null,
}}
/>
))
.add("refunded payment", () => (
<OrderDetailsPage
{...props}
order={{
...props.order,
paymentStatus: PaymentChargeStatusEnum.FULLY_REFUNDED,
}}
/>
))
.add("rejected payment", () => (
<OrderDetailsPage
{...props}
order={{
...props.order,
paymentStatus: PaymentChargeStatusEnum.NOT_CHARGED,
}}
/>
))
.add("cancelled", () => (
<OrderDetailsPage
{...props}
order={{
...props.order,
fulfillments: props.order.fulfillments.map(fulfillment => ({
...fulfillment,
status: FulfillmentStatus.CANCELED,
})),
status: OrderStatus.CANCELED,
}}
/>
))
.add("fulfilled", () => (
<OrderDetailsPage
{...props}
order={{
...props.order,
status: OrderStatus.FULFILLED,
}}
/>
))
.add("partially fulfilled", () => (
<OrderDetailsPage
{...props}
order={{
...props.order,
status: OrderStatus.PARTIALLY_FULFILLED,
}}
/>
))
.add("unfulfilled", () => (
<OrderDetailsPage
{...props}
order={{
...props.order,
status: OrderStatus.UNFULFILLED,
}}
/>
))
.add("no shipping address", () => (
<OrderDetailsPage
{...props}
order={{
...props.order,
shippingAddress: null,
}}
/>
))
.add("no customer note", () => (
<OrderDetailsPage
{...props}
order={{
...props.order,
customerNote: "",
}}
/>
));