public async Task CreateOrderAsync__Order_create_succeeded__Property_customer_should_return_correct_data() { // Property should return Customer who ordered tickets. // This method set Customer property. var tickets = new ShallowTicket[] { _shallowTicket }; var order = new OrderRequestDto { Id = "1", Customer = new CustomerDto(), Tickets = tickets }; _customerDbServiceMock.Setup(x => x.GetByAsync(It.IsAny <Expression <Func <Customer, bool> > >())).ReturnsAsync(new Customer[] { _customer }); _customerDbServiceMock.Setup(x => x.AddAsync(It.IsAny <Customer>())).ReturnsAsync(_customer); var handler = new TicketOrderHandler(_dbServiceFactoryMock.Object, _validatorMock.Object, _logger); await handler.CreateOrderAsync(order); handler.Customer.Should().BeEquivalentTo(_customer); }
public void SetUp() { _validatorMock = new Mock <IValidator <SightseeingGroup> >(); _logger = Mock.Of <ILogger <TicketOrderHandler> >(); var info = new VisitInfo { Id = "1", Description = "recent sightseeing info", MaxAllowedGroupSize = 30, MaxChildAge = 5, MaxTicketOrderInterval = 4, SightseeingDuration = 2, OpeningHours = new OpeningHours[] { } }; _infoDbServiceMock = new Mock <IVisitInfoDbService>(); _infoDbServiceMock.Setup(x => x.GetAllAsync()).ReturnsAsync(new VisitInfo[] { info }.AsEnumerable()); _ticketTariff = new TicketTariff { Id = "1", DefaultPrice = 20, Description = "ticket tariff" }; _ticketTariffDbServiceMock = new Mock <ITicketTariffDbService>(); _discount = new Discount { Id = "1", Description = "discount", DiscountValueInPercentage = 20, Type = Discount.DiscountType.ForChild }; _discountDbServiceMock = new Mock <IDiscountDbService>(); _ticket = new Ticket { Id = "1", OrderStamp = "stamp", PurchaseDate = DateTime.Now.AddDays(-2), TicketUniqueId = "uniqu_id" }; _ticketDbServiceMock = new Mock <ITicketDbService>(); _customer = new Customer { Id = "1", DateOfBirth = DateTime.Now.AddYears(-30), EmailAddress = "*****@*****.**", HasFamilyCard = false, IsChild = false, IsDisabled = true, Tickets = new Ticket[] { _ticket } }; _customerDbServiceMock = new Mock <ICustomerDbService>(); _groupDbServiceMock = new Mock <ISightseeingGroupDbService>(); _dbServiceFactoryMock = new Mock <IIndex <string, IServiceBase> >(); _shallowTicket = new ShallowTicket { DiscountId = "1", TicketTariffId = "1", SightseeingDate = DateTime.Now.AddDays(3).Date.AddHours(14) }; _dbServiceFactoryMock.Setup(x => x["ICustomerDbService"]).Returns(_customerDbServiceMock.Object); _dbServiceFactoryMock.Setup(x => x["IDiscountDbService"]).Returns(_discountDbServiceMock.Object); _dbServiceFactoryMock.Setup(x => x["ITicketTariffDbService"]).Returns(_ticketTariffDbServiceMock.Object); _dbServiceFactoryMock.Setup(x => x["IVisitInfoDbService"]).Returns(_infoDbServiceMock.Object); _dbServiceFactoryMock.Setup(x => x["ISightseeingGroupDbService"]).Returns(_groupDbServiceMock.Object); _dbServiceFactoryMock.Setup(x => x["ITicketDbService"]).Returns(_ticketDbServiceMock.Object); }