public void AddAsync_EntityDoesNotAlreadyExist_ReturnsEntity() { var firstEntity = new Employee { Id = 1, }; var secondEntity = new Employee { Id = 2, }; var data = new List <Employee> { firstEntity }; var mockSet = data.AsQueryable().BuildMockDbSet(); var mockDbContext = Substitute.For <IDatabaseContext>(); mockDbContext.Set <Employee>().Returns(mockSet); var mockLogger = Substitute.For <ILogger <EmployeeDal> >(); var dal = new EmployeeDal(mockDbContext, mockLogger); var result = Task.Run(async() => await dal.AddAsync(secondEntity)).GetAwaiter().GetResult(); Assert.That(result, Is.EqualTo(secondEntity)); }
public void AddAsync_NullEntity_ThrowsArgumentNullException() { var mockDbContext = Substitute.For <IDatabaseContext>(); var mockLogger = Substitute.For <ILogger <EmployeeDal> >(); var dal = new EmployeeDal(mockDbContext, mockLogger); var e = Assert.Throws <ArgumentNullException>(() => dal.AddAsync(null).GetAwaiter().GetResult()); Assert.That(e.Message, Does.Contain("entity")); }
public void AddAsync_EntityAlreadyExists_ReturnsNull() { var entity = new Employee { Id = 1, }; var data = new List <Employee> { entity }; var mockSet = data.AsQueryable().BuildMockDbSet(); var mockDbContext = Substitute.For <IDatabaseContext>(); mockDbContext.Set <Employee>().Returns(mockSet); var mockLogger = Substitute.For <ILogger <EmployeeDal> >(); var dal = new EmployeeDal(mockDbContext, mockLogger); var result = Task.Run(async() => await dal.AddAsync(entity)).GetAwaiter().GetResult(); Assert.That(result, Is.Null); }