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); }
public async Task GetByUsernameAsyncReturnsCorrect() { 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: "GetByUsernameAsyncReturnsCorrect") .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 employee = new EmployeeCreateInputModel { Id = id, FirstName = "Иван", LastName = "Иванов", PhoneNumber = "0888777444", Salary = 1000m, RoleName = GlobalConstants.OperatorRoleName, }; var result = await service.CreateAsync(employee, string.Empty); var username = await dbContext.Employees.FirstOrDefaultAsync(x => x.Id == result.Id); var actual = await service.GetIdByUserNameAsync(username.User.UserName); var employees = await service.GetAllAsync <EmployeeIndexViewModel>().ToListAsync(); Assert.Equal(result.Id, actual); Assert.Single(employees); }
public void CreateAsync_ReturnsCorrectEmployeeId() { var options = new DbContextOptionsBuilder <ApplicationDbContext>().UseInMemoryDatabase(Guid.NewGuid().ToString()).Options; using (var dbContext = new ApplicationDbContext(options)) { JobPosition jobPosition = new JobPosition() { Name = "newJobPos", }; dbContext.JobPositions.Add(jobPosition); dbContext.SaveChanges(); OperatingLocation operatingLocation = new OperatingLocation() { Town = "Sofia", Address = "test street", ImageUrl = "kgkkkgk", }; dbContext.OperatingLocations.Add(operatingLocation); dbContext.SaveChanges(); CreateEmployeeServiceModel employee = new CreateEmployeeServiceModel { FirstName = "Ivan", MiddleName = "Ivanov", LastName = "Ivanov", Phone = "0897924218", Email = "*****@*****.**", Town = "Sofia", Address = "address 1", ImageUrl = "aasdfag", OperatingLocationId = operatingLocation.Id, JobPositionId = jobPosition.Id, }; var employeesService = new EmployeesService(dbContext); var result = employeesService.CreateAsync(employee); var employeeObj = dbContext.Employees.FirstOrDefaultAsync(); Assert.Equal(employeeObj.Result.Id, result.Result); } }
/// <summary> /// 注册 /// </summary> /// <param name="theWorkNumber"></param> /// <param name="password"></param> /// <param name="uName"></param> /// <param name="sex"></param> /// <param name="age"></param> /// <param name="phone"></param> /// <param name="email"></param> /// <param name="address"></param> /// <param name="image"></param> /// <param name="remarks"></param> /// <param name="status"></param> /// <param name="branchId"></param> /// <returns></returns> public async Task Register(string theWorkNumber, string password, string uName, bool sex, int age, string phone, string email, string address, string image, string remarks, bool status, Guid branchId) { using IEmployeesService employeesService = new EmployeesService(); await employeesService.CreateAsync(new Model.Employees.Employees() { TheWorkNumber = theWorkNumber, Password = password, Name = uName, Sex = sex, Age = age, Phone = phone, Email = email, Address = address, Image = image, Remarks = remarks, Status = status, BranchId = branchId }); }