public void CreateUserIfNotExist(string firstName, string lastName, DateTime dateOfBirth, string expectedError) { //arrange var userRepository = Substitute.For <IUserRepository>(); var service = new MyService(userRepository); var users = new List <UserEntity> { new UserEntity { LastName = "ExistLastName", DateOfBirth = DateTime.Parse("01/20/2012", UsCultureInfo.DateTimeFormat) }, new UserEntity { FirstName = "ExistFirstName" }, new UserEntity { DateOfBirth = DateTime.Parse("01/20/2012", UsCultureInfo.DateTimeFormat) }, new UserEntity { DateOfBirth = DateTime.Parse("01/20/2012", UsCultureInfo.DateTimeFormat) }, new UserEntity { DateOfBirth = DateTime.Parse("01/20/2012", UsCultureInfo.DateTimeFormat) }, }; //expect var mock = users.AsQueryable().BuildMock(); userRepository.GetQueryable().Returns(mock); //act var ex = Assert.ThrowsAsync <ApplicationException>(() => service.CreateUserIfNotExist(firstName, lastName, dateOfBirth)); //assert Assert.AreEqual(expectedError, ex.Message); }
public void DbSetCreateUserIfNotExist(string firstName, string lastName, DateTime dateOfBirth, string expectedError) { //arrange var users = new List <UserEntity> { new UserEntity { LastName = "ExistLastName", DateOfBirth = DateTime.Parse("01/20/2012") }, new UserEntity { FirstName = "ExistFirstName" }, new UserEntity { DateOfBirth = DateTime.Parse("01/20/2012") }, new UserEntity { DateOfBirth = DateTime.Parse("01/20/2012") }, new UserEntity { DateOfBirth = DateTime.Parse("01/20/2012") }, }; var mock = users.AsQueryable().BuildMockDbSet(); var userRepository = new TestDbSetRepository(mock); var service = new MyService(userRepository); //act var ex = Assert.ThrowsAsync <ApplicationException>(() => service.CreateUserIfNotExist(firstName, lastName, dateOfBirth)); //assert Assert.AreEqual(expectedError, ex.Message); }
public async Task DbSetCreateUser(string firstName, string lastName, DateTime dateOfBirth) { //arrange var mock = new List <UserEntity>().AsQueryable().BuildMockDbSet(); var userRepository = new TestDbSetRepository(mock); var service = new MyService(userRepository); //act await service.CreateUserIfNotExist(firstName, lastName, dateOfBirth); }
public async Task DbSetCreateUser(string firstName, string lastName, DateTime dateOfBirth) { //arrange var userEntities = new List <UserEntity>(); var mock = userEntities.AsQueryable().BuildMockDbSet(); mock.Setup(set => set.AddAsync(It.IsAny <UserEntity>(), It.IsAny <CancellationToken>())) .Callback((UserEntity entity, CancellationToken _) => userEntities.Add(entity)); var userRepository = new TestDbSetRepository(mock.Object); var service = new MyService(userRepository); //act await service.CreateUserIfNotExist(firstName, lastName, dateOfBirth); // assert var entity = mock.Object.Single(); Assert.AreEqual(firstName, entity.FirstName); Assert.AreEqual(lastName, entity.LastName); Assert.AreEqual(dateOfBirth, entity.DateOfBirth); }
public async Task DbSetCreateUser(string firstName, string lastName, DateTime dateOfBirth) { //arrange var userEntities = new List <UserEntity>(); var mock = userEntities.AsQueryable().BuildMockDbSet(); mock.AddAsync(Arg.Any <UserEntity>()) .Returns(info => null) .AndDoes(info => userEntities.Add(info.Arg <UserEntity>())); var userRepository = new TestDbSetRepository(mock); var service = new MyService(userRepository); //act await service.CreateUserIfNotExist(firstName, lastName, dateOfBirth); // assert var entity = mock.Single(); Assert.AreEqual(firstName, entity.FirstName); Assert.AreEqual(lastName, entity.LastName); Assert.AreEqual(dateOfBirth, entity.DateOfBirth); }