public void SetUp()
        {
            _voucherRepository = new Mock <IVoucherRepository>();
            _voucherRepository.Setup(x => x.GetAllVouchers()).Returns(() => new GetAllVouchersResponse
            {
                HasError = true,
                Error    = new Error
                {
                    Code = ErrorCodes.DatabaseError
                }
            });

            var subject = new VoucherService(_voucherRepository.Object);

            _result = subject.Verify(new Data.Services.UserSession.Basket(), new List <DeliveryType>(), "VOUCHER_CODE");
        }
        public void SetUp()
        {
            _voucherRepository = new Mock <IVoucherRepository>();
            _voucherRepository.Setup(x => x.GetAllVouchers()).Returns(() => new GetAllVouchersResponse
            {
                VoucherDetails = new List <VoucherDetails>
                {
                    new VoucherDetails
                    {
                        Voucher = new VoucherRecord
                        {
                            Code     = "VOUCHER_CODE",
                            Quantity = 2,
                            Price    = "1200"
                        },
                        AllowedDeliveryTypes = new List <VoucherDeliveryTypeRecord>
                        {
                            new VoucherDeliveryTypeRecord
                            {
                                DeliveryType = new DeliveryTypeRecord
                                {
                                    Name = "Collection"
                                }
                            }
                        },
                        AllowedSizes = new List <VoucherSizeRecord>
                        {
                            new VoucherSizeRecord
                            {
                                Size = new SizeRecord
                                {
                                    Name = "Small"
                                }
                            }
                        }
                    },
                    new VoucherDetails
                    {
                        Voucher = new VoucherRecord
                        {
                            Code     = "VOUCHER_CODE",
                            Quantity = 2,
                            Price    = "1400"
                        },
                        AllowedDeliveryTypes = new List <VoucherDeliveryTypeRecord>
                        {
                            new VoucherDeliveryTypeRecord
                            {
                                DeliveryType = new DeliveryTypeRecord
                                {
                                    Name = "Delivery"
                                }
                            }
                        },
                        AllowedSizes = new List <VoucherSizeRecord>
                        {
                            new VoucherSizeRecord
                            {
                                Size = new SizeRecord
                                {
                                    Name = "Small"
                                }
                            }
                        }
                    }
                }
            });

            var subject = new VoucherService(_voucherRepository.Object);

            var userBasket = new ShoppingCart.Services.UserSession.Basket
            {
                Items = new List <BasketItem>
                {
                    new BasketItem
                    {
                        Size = new SizeRecord
                        {
                            Name = "Small"
                        },
                        Total = Money.From(1500)
                    }
                }
            };
            var deliveryTypes = new List <DeliveryType>
            {
                DeliveryType.Collection
            };

            _result = subject.Verify(userBasket, deliveryTypes, "VOUCHER_CODE");
        }