public static async Task AddOrUpdateAsync_AddsDefaultDeliveryDate(
            [Frozen] Mock <IDefaultDeliveryDateService> service,
            [Frozen] CallOffId callOffId,
            [Frozen] CatalogueItemId catalogueItemId,
            Order order,
            DefaultDeliveryDateModel defaultDeliveryDate,
            [Frozen] Mock <IDefaultDeliveryDateValidator> validator,
            DefaultDeliveryDateController controller)
        {
            service.Setup(o => o.GetOrder(callOffId, catalogueItemId)).ReturnsAsync(order);
            service.Setup(o => o.SetDefaultDeliveryDate(callOffId, catalogueItemId, defaultDeliveryDate.DeliveryDate.Value)).Callback(() =>
            {
                order.SetDefaultDeliveryDate(catalogueItemId, defaultDeliveryDate.DeliveryDate !.Value);
            });

            validator.Setup(v => v.Validate(defaultDeliveryDate, order.CommencementDate)).Returns((true, null));

            order.DefaultDeliveryDates.Should().BeEmpty();

            await controller.AddOrUpdateAsync(callOffId, catalogueItemId, defaultDeliveryDate);

            service.Verify(o => o.GetOrder(callOffId, catalogueItemId));
            service.Verify(o => o.SetDefaultDeliveryDate(callOffId, catalogueItemId, defaultDeliveryDate.DeliveryDate.Value));

            var expectedDeliveryDate = new DefaultDeliveryDate
            {
                OrderId         = callOffId.Id,
                CatalogueItemId = catalogueItemId,
                DeliveryDate    = defaultDeliveryDate.DeliveryDate.GetValueOrDefault(),
            };

            order.DefaultDeliveryDates.Should().HaveCount(1);
            order.DefaultDeliveryDates.Should().Contain(expectedDeliveryDate);
        }
Example #2
0
        public static void Equals_DefaultDeliveryDate_ReturnsExpectedResult(
            DefaultDeliveryDate defaultDeliveryDate)
        {
            var otherDefaultDeliveryDate = new DefaultDeliveryDate
            {
                CatalogueItemId = defaultDeliveryDate.CatalogueItemId,
                OrderId         = defaultDeliveryDate.OrderId,
            };

            defaultDeliveryDate.Should().Be(otherDefaultDeliveryDate);
        }
Example #3
0
 public static void Equals_DefaultDeliveryDate_DifferentCatalogueItemId_ReturnsExpectedResult(
     DefaultDeliveryDate defaultDeliveryDate)
 {
     var otherDefaultDeliveryDate = new DefaultDeliveryDate
     {
         CatalogueItemId = default,