public async Task Handle_SalesOrderWithStoreCustomer_Exists_ReturnSalesOrder( string userId, string userName, string cardSecurityNumber, string cardHolderName, Core.Entities.StoreCustomer customer, string shipMethod, ValueTypes.Address billToAddress, ValueTypes.Address shipToAddress, Core.Entities.CreditCard creditCard, [Frozen] Mock <IRepository <Core.Entities.SalesOrder> > salesOrderRepoMock, GetSalesOrderQueryHandler sut, GetSalesOrderQuery query ) { //Arrange creditCard.ExpYear = short.Parse(DateTime.Today.Year.ToString()); creditCard.ExpMonth = byte.Parse(DateTime.Today.Month.ToString()); var salesOrder = new Core.Entities.SalesOrder( userId, userName, customer, shipMethod, billToAddress, shipToAddress, creditCard, cardSecurityNumber, cardHolderName ); salesOrderRepoMock.Setup(x => x.GetBySpecAsync( It.IsAny <GetFullSalesOrderSpecification>(), It.IsAny <CancellationToken>() )) .ReturnsAsync(salesOrder); //Act var result = await sut.Handle(query, CancellationToken.None); //Assert result.Should().NotBeNull(); salesOrderRepoMock.Verify(x => x.GetBySpecAsync( It.IsAny <GetFullSalesOrderSpecification>(), It.IsAny <CancellationToken>() )); result.SalesOrderNumber.Should().Be(salesOrder.SalesOrderNumber); }
public async Task GetByIdAsync_ReturnsObject( [Frozen] Mock <DbSet <Core.Entities.SalesOrder> > mockSet, [Frozen] Mock <AWContext> mockContext, Core.Entities.SalesOrder salesOrder ) { //Arrange mockSet.Setup(x => x.FindAsync(It.IsAny <object[]>(), It.IsAny <CancellationToken>())) .ReturnsAsync(salesOrder); mockContext.Setup(x => x.Set <Core.Entities.SalesOrder>()) .Returns(mockSet.Object); var repository = new EfRepository <Core.Entities.SalesOrder>(mockContext.Object); //Act var result = await repository.GetByIdAsync(1); //Assert result.SalesOrderNumber.Should().Be(salesOrder.SalesOrderNumber); }
public async Task AddAsync_SavesObject( List <Core.Entities.SalesOrder> salesOrders, Core.Entities.SalesOrder newSalesOrder ) { //Arrange var mockSet = salesOrders.AsQueryable().BuildMockDbSet(); var mockContext = new Mock <AWContext>(); mockContext.Setup(x => x.Set <Core.Entities.SalesOrder>()) .Returns(mockSet.Object); var repository = new EfRepository <Core.Entities.SalesOrder>(mockContext.Object); //Act var savedSalesOrder = await repository.AddAsync(newSalesOrder); //Assert mockSet.Verify(x => x.Add(It.IsAny <Core.Entities.SalesOrder>())); mockContext.Verify(x => x.SaveChangesAsync(It.IsAny <CancellationToken>())); newSalesOrder.Should().BeEquivalentTo(savedSalesOrder); }