public async Task CreateAsyncReturnsCorrect() { var id = Guid.NewGuid().ToString(); var user = new CarpetUser { Id = id, FirstName = "Иван", LastName = "Иванов", PhoneNumber = "0888777444", Email = "*****@*****.**", UserName = "******", }; var roleAdminId = Guid.NewGuid().ToString(); var role = new CarpetRole { Id = roleAdminId, Name = GlobalConstants.AdministratorRoleName }; var roleOperatorId = Guid.NewGuid().ToString(); var roleOperator = new CarpetRole { Id = roleOperatorId, Name = GlobalConstants.OperatorRoleName }; var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: "CreateAsyncReturnsCorrect") .Options; var dbContext = new ApplicationDbContext(options); dbContext.Users.Add(user); dbContext.Roles.Add(role); dbContext.Roles.Add(roleOperator); await dbContext.SaveChangesAsync(); var repository = new EfDeletableEntityRepository <Employee>(dbContext); var service = new EmployeesService(repository, dbContext); var userFrom = dbContext.Users.First(); var employeeId = Guid.NewGuid().ToString(); var employee = new EmployeeCreateInputModel { Id = id, FirstName = "Иван", LastName = "Иванов", PhoneNumber = "0888777444", Salary = 1000m, RoleName = GlobalConstants.OperatorRoleName, }; var employeeFromDbFirst = await service.CreateAsync(employee, string.Empty); await service.DeleteByIdAsync(employeeFromDbFirst.Id); var employeeFromDb = await service.CreateAsync(employee, string.Empty); Assert.NotEqual(employeeFromDb.Id, employeeFromDbFirst.Id); Assert.Equal(employeeFromDb.PhoneNumber, employeeFromDbFirst.PhoneNumber); Assert.Equal(employeeFromDb.PhoneNumber, employeeFromDbFirst.PhoneNumber); Assert.Equal(employee.PhoneNumber, employeeFromDb.PhoneNumber); }
public async Task DeleteByIdAsyncWithWrongIdReturnsError() { var id = Guid.NewGuid().ToString(); var user = new CarpetUser { Id = id, FirstName = "Иван", LastName = "Иванов", PhoneNumber = "0888777444", Email = "*****@*****.**", UserName = "******", }; var roleAdminId = Guid.NewGuid().ToString(); var role = new CarpetRole { Id = roleAdminId, Name = GlobalConstants.AdministratorRoleName }; var roleOperatorId = Guid.NewGuid().ToString(); var roleOperator = new CarpetRole { Id = roleOperatorId, Name = GlobalConstants.OperatorRoleName }; var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: "DeleteByIdAsyncWithWrongIdReturnsError") .Options; var dbContext = new ApplicationDbContext(options); dbContext.Users.Add(user); dbContext.Roles.Add(role); dbContext.Roles.Add(roleOperator); await dbContext.SaveChangesAsync(); var repository = new EfDeletableEntityRepository <Employee>(dbContext); var service = new EmployeesService(repository, dbContext); var wrongId = Guid.NewGuid().ToString(); var employee = new EmployeeCreateInputModel { Id = id, FirstName = "Иван", LastName = "Иванов", PhoneNumber = "0888777444", Salary = 1000m, RoleName = GlobalConstants.OperatorRoleName, }; var employeeDelete = new EmployeeDeleteInputModel { Id = wrongId, }; var result = await service.CreateAsync(employee, string.Empty); var exception = await Assert.ThrowsAsync <NullReferenceException>(() => service.DeleteByIdAsync(employeeDelete.Id)); Assert.Equal(string.Format(string.Format(EmployeeConstants.NullReferenceId, wrongId)), exception.Message); }