Beispiel #1
0
        public void CreateSearchOrdersBody()
        {
            var locations = new List <SquareLocation>
            {
                new SquareLocation
                {
                    Id = "i2o3jeo"
                },
                new SquareLocation
                {
                    Id = "aidfj23i"
                }
            };
            const string cursor        = "23984ej2";
            const int    ordersPerPage = 10;

            var result = SquareOrdersService.CreateSearchOrdersBody(startDateUtc, endDateUtc, locations.AsEnumerable(), cursor, ordersPerPage);

            result.LocationIds.Should().BeEquivalentTo(locations.Select(l => l.Id));
            result.Cursor.Should().Be(cursor);
            result.Limit.Should().Be(ordersPerPage);
            result.Query.Filter.DateTimeFilter.UpdatedAt.StartAt.Should().Be(startDateUtc.FromUtcToRFC3339());
            result.Query.Filter.DateTimeFilter.UpdatedAt.EndAt.Should().Be(endDateUtc.FromUtcToRFC3339());
        }
Beispiel #2
0
        public void CollectOrdersFromAllPagesAsync()
        {
            const int ordersPerPage = 2;

            _firstPage = true;
            const string catalogObjectId = "asldfjlkj";
            const string quantity        = "13";
            var          recipient       = new OrderFulfillmentRecipient
            {
                DisplayName = "Bubba"
            };
            var orders = new List <Order>
            {
                new Order("alkdsf23", "i2o3jeo")
                {
                    CreatedAt = "2019-01-03T05:07:51Z",
                    UpdatedAt = "2019-02-03T05:07:51Z",
                    LineItems = new List <OrderLineItem>
                    {
                        new OrderLineItem(null, null, Quantity: quantity)
                        {
                            CatalogObjectId = catalogObjectId,
                        }
                    },
                    Fulfillments = new List <OrderFulfillment>
                    {
                        new OrderFulfillment
                        {
                            ShipmentDetails = new OrderFulfillmentShipmentDetails
                            {
                                Recipient = recipient
                            }
                        }
                    }
                },
                new Order("23ik4lkj", "aidfj23i")
                {
                    CreatedAt = "2019-01-03T05:07:51Z",
                    UpdatedAt = "2019-02-03T05:07:51Z"
                }
            };
            const string sku = "testSku1";

            var items = new List <SquareItem>
            {
                new SquareItem
                {
                    VariationId = catalogObjectId,
                    Sku         = sku
                }
            };

            var result = SquareOrdersService.CollectOrdersFromAllPagesAsync(startDateUtc, endDateUtc, new List <SquareLocation>(),
                                                                            (requestBody) => GetOrdersWithRelatedData(orders, items), ordersPerPage).Result.ToList();

            result.Count.Should().Be(2);
            var firstOrder = result.First();

            firstOrder.OrderId.Should().BeEquivalentTo(orders.First().Id);
            firstOrder.Recipient.Name.Should().BeEquivalentTo(recipient.DisplayName);
            var firstLineItem = firstOrder.LineItems.First();

            firstLineItem.Sku.Should().Be(sku);
            firstLineItem.Quantity.Should().Be(quantity);
            result.Skip(1).First().OrderId.Should().BeEquivalentTo(orders.Skip(1).First().Id);
        }