public async Task GetByIdAsync_ReturnsObject( [Frozen] Mock <DbSet <Entities.StoreCustomer> > mockSet, [Frozen] Mock <AWContext> mockContext, Entities.StoreCustomer customer ) { //Arrange mockSet.Setup(x => x.FindAsync(It.IsAny <object[]>(), It.IsAny <CancellationToken>())) .ReturnsAsync(customer); mockContext.Setup(x => x.Set <Entities.StoreCustomer>()) .Returns(mockSet.Object); var repository = new EfRepository <Entities.StoreCustomer>(mockContext.Object); //Act var result = await repository.GetByIdAsync(1); //Assert result.Name.Should().Be(customer.Name); }
public async Task AddAsync_SavesObject( List <Entities.StoreCustomer> customers, Entities.StoreCustomer newCustomer ) { //Arrange var mockSet = customers.Cast <Entities.Customer>().AsQueryable().BuildMockDbSet(); var mockContext = new Mock <AWContext>(); mockContext.Setup(x => x.Set <Entities.Customer>()) .Returns(mockSet.Object); var repository = new EfRepository <Entities.Customer>(mockContext.Object); //Act var savedCustomer = await repository.AddAsync(newCustomer); //Assert mockSet.Verify(x => x.Add(It.IsAny <Entities.Customer>())); mockContext.Verify(x => x.SaveChangesAsync(It.IsAny <CancellationToken>())); newCustomer.Should().BeEquivalentTo(savedCustomer); }
public async Task UpdateAsync_SavesObject( List <Entities.StoreCustomer> customers ) { //Arrange var mockSet = customers.Cast <Entities.Customer>().AsQueryable().BuildMockDbSet(); var mockContext = new Mock <AWContext>(); mockContext.Setup(x => x.Set <Entities.Customer>()) .Returns(mockSet.Object); mockContext.Setup(x => x.SetModified(It.IsAny <Entities.Customer>())); var repository = new EfRepository <Entities.Customer>(mockContext.Object); //Act var existingCustomer = new Entities.StoreCustomer( "A Bike Store", "AW00000001" ); await repository.UpdateAsync(existingCustomer); //Assert mockContext.Verify(x => x.SaveChangesAsync(It.IsAny <CancellationToken>())); }