public IActionResult CreateTest(CreateTestDTO newTest) { _logger.LogInformation("GET Test/CreateTest"); User user = null; if (Get("user") != null) { Guid id = Guid.Parse(Get("user")); user = _userRepo.GetUser(id); } if (user == null || user.Role != "Teacher") { ViewData["LoggedIn"] = "false"; return(RedirectToAction("Error")); } if (newTest.Name != "") { var teacher = _userRepo.GetUser(newTest.TeacherId); var test = new Test(Guid.NewGuid(), newTest.Name, teacher); test.Tasks = new List <Task>(); _testRepo.AddTest(test); return(RedirectToAction("ManageTasks", new { testId = test.Id })); } return(RedirectToAction("Error")); }
public void Post_CreateTest_UserIsTeacher_TestNameIsValid_RedirectToManageTasks() { Guid id = Guid.NewGuid(); var httpContext = new DefaultHttpContext(); httpContext.Request.Headers.Add("Cookie", new CookieHeaderValue("user", id.ToString()).ToString()); _controller.ControllerContext = new ControllerContext { HttpContext = httpContext }; _mockUserRepo.Setup(repo => repo.GetUser(id)) .Returns(new User() { Id = id, Email = "*****@*****.**", Password = "******", Role = "Teacher" }); var test = new CreateTestDTO { Name = "sks", TaskCount = 0, TeacherId = id }; var result = _controller.CreateTest(test); var redirect = Assert.IsType <RedirectToActionResult>(result); Assert.Equal("ManageTasks", redirect.ActionName); }
public void Post_CreateTest_UserIsLogined_DoesNotExist_RedirectToError() { Guid id = Guid.NewGuid(); var httpContext = new DefaultHttpContext(); httpContext.Request.Headers.Add("Cookie", new CookieHeaderValue("user", id.ToString()).ToString()); _controller.ControllerContext = new ControllerContext { HttpContext = httpContext }; _mockUserRepo.Setup(repo => repo.GetUser(id)) .Returns(null as User); var test = new CreateTestDTO { Name = "Tets", TaskCount = 0, TeacherId = Guid.NewGuid() }; var result = _controller.CreateTest(test); var redirect = Assert.IsType <RedirectToActionResult>(result); Assert.Equal("Error", redirect.ActionName); }
public void Post_CreateTest_UserIsNotLogined_RedirectToError() { var test = new CreateTestDTO { Name = "Tets", TaskCount = 0, TeacherId = Guid.NewGuid() }; var result = _controller.CreateTest(test); Assert.NotNull(result); var redirect = Assert.IsType <RedirectToActionResult>(result); Assert.Equal("Error", redirect.ActionName); }
public async Task <ActionResult> CreateTest(CreateTestDTO testModel) { var result = await _adminService.CreateTestAsync(testModel); if (result) { return(Ok()); } else { return(Problem( title: "Create test error.", detail: "Error occured on new test. Try again.", statusCode: 500)); } }
public async Task NewTestCanBeCreated(long catalogId, string testTitle) { var command = new CreateTestDTO() { OwnerId = TestUtils.OwnerId, Title = testTitle }; var response = await client.PostAsync(EndpointName, command); AssertExt.EnsureSuccessStatusCode(response); var createdTestId = response.GetContent <long>().Value; var context = factory.GetService <TestCreationDbContext>(); var actualTest = context.Tests.Find(createdTestId); AssertExt.AreEquivalent(command, actualTest); }
public async Task <bool> CreateTestAsync(CreateTestDTO testModel) { if (string.IsNullOrEmpty(await _testRepository.GetTestNameAsync(testModel.TestName, testModel.ShortName))) { var test = _mapper.Map <Test>(testModel); var testCategory = await _categoryRepository.GetCategoryByNameAsync(testModel.CategoryName); if (testCategory != null) { test.Category = testCategory; await _testRepository.AddAsync(test); } else { return(false); } return(true); } else { return(false); } }
public async Task <ActionResult <long> > CreateTest(CreateTestDTO createTest) { var result = await Send(createTest.CreateCommand()); return(ActionResult(result)); }