public async Task Is_invalid_when_item_status_is_shipped_async()
        {
            var item = new OrderItem();

            item.OrderStatusID = OrderStatusConstants.SHIPPED_STATUS;
            var rule = new ValidOrderItemStatusForUpdateRule(item);
            await rule.ValidateAsync();

            rule.IsValid.ShouldBe(false);
            rule.ErrorMessage.ShouldBe("Shipped items cannot be changed");
        }
        public async Task Is_valid_when_item_status_is_submitted_async()
        {
            var item = new OrderItem();

            item.OrderStatusID = OrderStatusConstants.SUBMITTED_STATUS;
            var rule = new ValidOrderItemStatusForUpdateRule(item);
            await rule.ValidateAsync();

            rule.IsValid.ShouldBe(true);
            rule.ErrorMessage.ShouldBe(null);
        }