public async Task CreateRoleAsyncTest() { var context = EssayCompetitionContextInMemoryFactory.InitializeContext(); var roleName = "Ninja"; var roleViewModel = new CreateViewModel() { Name = roleName }; var roleRepository = new EfDeletableEntityRepository <ApplicationRole>(context); var service = new RolesService(roleRepository); await service.CreateRoleAsync <CreateViewModel>(roleViewModel.ToQueryable()); Assert.True(roleRepository.All().Any(x => x.Name == roleName), "CreateRoleAsync method does not work correctly"); }
public async Task <IActionResult> Create(CreateViewModel viewModel) { if (!this.ModelState.IsValid) { return(this.View(viewModel)); } if (this.rolesService.HasRoleWithName(viewModel.Name)) { this.ModelState.AddModelError("Name", "There is already role with this name."); return(this.View(viewModel)); } await this.rolesService.CreateRoleAsync(viewModel.ToQueryable()); return(this.RedirectToAction("Index")); }