public async Task ReturnsBadRequst_NotFoundException() { var userServiceMock = new Mock <IUserService>(); var wrapperMock = new Mock <IUserServiceWrapper>(); var logbookServiceMock = new Mock <ILogbookService>(); var sut = new UsersController(userServiceMock.Object, logbookServiceMock.Object, wrapperMock.Object); var model = new IndexNoteViewModel() { CurrentLogbookId = 2 }; var userId = TestHelpersNoteController.TestUserDTO1().Id; wrapperMock.Setup(x => x.GetLoggedUserId(It.IsAny <ClaimsPrincipal>())).Returns(userId); userServiceMock.Setup(x => x.GetUserByIdAsync(userId)).ThrowsAsync(new NotFoundException()); logbookServiceMock.Setup(x => x.GetLogbookById(1)).ReturnsAsync(TestHelpersNoteController.TestLogbookDTO1()); userServiceMock.Setup(x => x.SwitchLogbookAsync(userId, model.CurrentLogbookId.Value)).ReturnsAsync(TestHelpersUsersController.TestUserDTO4()); var actionResult = await sut.SwitchLogbook(model); Assert.IsInstanceOfType(actionResult, typeof(BadRequestObjectResult)); }
public async Task Succeed() { var userServiceMock = new Mock <IUserService>(); var wrapperMock = new Mock <IUserServiceWrapper>(); var logbookServiceMock = new Mock <ILogbookService>(); var sut = new UsersController(userServiceMock.Object, logbookServiceMock.Object, wrapperMock.Object); var model = new IndexNoteViewModel() { CurrentLogbookId = 2 }; var userId = TestHelpersNoteController.TestUserDTO1().Id; wrapperMock.Setup(x => x.GetLoggedUserId(It.IsAny <ClaimsPrincipal>())).Returns(userId); userServiceMock.Setup(x => x.GetUserByIdAsync(userId)).ReturnsAsync(TestHelpersNoteController.TestUserDTO1()); logbookServiceMock.Setup(x => x.GetLogbookById(1)).ReturnsAsync(TestHelpersNoteController.TestLogbookDTO1()); userServiceMock.Setup(x => x.SwitchLogbookAsync(userId, model.CurrentLogbookId.Value)).ReturnsAsync(TestHelpersUsersController.TestUserDTO4()); var actionResult = await sut.SwitchLogbook(model); var result = (RedirectToActionResult)actionResult; Assert.AreEqual("Index", result.ActionName); Assert.AreEqual("Notes", result.ControllerName); Assert.IsInstanceOfType(result, typeof(RedirectToActionResult)); }
public async Task Returns_BadRequest_When_LogbookIdIsEqualToNewId() { var userServiceMock = new Mock <IUserService>(); var wrapperMock = new Mock <IUserServiceWrapper>(); var logbookServiceMock = new Mock <ILogbookService>(); var sut = new UsersController(userServiceMock.Object, logbookServiceMock.Object, wrapperMock.Object); var model = new IndexNoteViewModel() { CurrentLogbookId = 1 }; var id = TestHelpersNoteController.TestUserDTO1().Id; wrapperMock.Setup(x => x.GetLoggedUserId(It.IsAny <ClaimsPrincipal>())).Returns(id); userServiceMock.Setup(x => x.GetUserByIdAsync(id)).ReturnsAsync(TestHelpersNoteController.TestUserDTO1()); logbookServiceMock.Setup(x => x.GetLogbookById(1)).ReturnsAsync(TestHelpersNoteController.TestLogbookDTO1()); var actionResult = await sut.SwitchLogbook(model); Assert.IsInstanceOfType(actionResult, typeof(BadRequestObjectResult)); }
// GET Notes Details public ActionResult Details(int?id) { IndexNoteViewModel note = null; if (Request.Cookies["login"] != null) { User usr = userRepository.GetByID(Convert.ToInt64(Request.Cookies["login"].Value)); if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } note = Mapper.Map <Note, IndexNoteViewModel>(noteRepository.GetByID(id)); note.Label = EncryptDecrypt.DecryptData(note.Label, usr.Pass); note.Body = EncryptDecrypt.DecryptData(note.Body, usr.Pass); note.NameAuthor = EncryptDecrypt.DecryptData(note.NameAuthor, usr.Pass); if (note == null) { return(HttpNotFound()); } } else { ViewBag.ErrorLogin = "******"; return(View("../Users/Login")); } return(View(note)); }
public async Task <IActionResult> Delete(int?id) { if (id == null) { return(NotFound()); } var note = await _context.Notes .FirstOrDefaultAsync(m => m.Id == id && m.Owner == GetUserId()); if (note == null) { return(NotFound()); } var model = new IndexNoteViewModel() { Id = note.Id, Title = note.Title, CreatedDate = note.CreatedDate, LastUpdatedDate = note.LastUpdatedDate }; return(View(model)); }
public async Task <IActionResult> NotesForDaysBefore(int id) { try { var userId = this.wrapper.GetLoggedUserId(User); var user = await this.userService.GetUserByIdAsync(userId); var model = new IndexNoteViewModel(); var logbookId = user.CurrentLogbookId; if (user.CurrentLogbookId.HasValue) { var notesDTO = await this.noteService.ShowLogbookNotesForDaysBeforeAsync(userId, user.CurrentLogbookId.Value, id); var notes = notesDTO.Select(x => x.MapFrom()).ToList(); foreach (var note in notes) { note.CanUserEdit = note.UserId == userId; } var searchModel = new SearchViewModel(); searchModel.Notes = notes; return(PartialView("_NoteListPartial", searchModel)); } return(BadRequest(WebConstants.NoLogbookChoosen)); } catch (NotFoundException ex) { return(BadRequest(ex.Message)); } catch (NotAuthorizedException ex) { return(BadRequest(ex.Message)); } catch (Exception ex) { log.Error("Unexpected exception occured:", ex); return(RedirectToAction("Error", "Home")); } }
public async Task <IActionResult> SwitchLogbook(IndexNoteViewModel model) { try { var userId = this.wrapper.GetLoggedUserId(User); var user = await this.userService.GetUserByIdAsync(userId); if (model.CurrentLogbookId.HasValue) { var logbook = await this.logbookService.GetLogbookById(model.CurrentLogbookId.Value); if (user.CurrentLogbookId == model.CurrentLogbookId) { return(BadRequest((string.Format(WebConstants.AlreadyInLogbook, user.UserName, logbook.Name)))); } user = await this.userService.SwitchLogbookAsync(userId, model.CurrentLogbookId.Value); //return Ok(string.Format(WebConstants.SwitchLogbook, logbook.Name)); return(RedirectToAction("Index", "Notes")); } return(BadRequest(WebConstants.NoLogbookChoosen)); } catch (NotFoundException ex) { return(BadRequest(ex.Message)); } catch (NotAuthorizedException ex) { return(BadRequest(ex.Message)); } catch (Exception ex) { log.Error("Unexpected exception occured:", ex); return(RedirectToAction("Error", "Home")); } }
public async Task <IActionResult> Index() { try { var model = new IndexNoteViewModel(); var userId = this.wrapper.GetLoggedUserId(User); var user = await this.userService.GetUserByIdAsync(userId); var logbooks = await this.logbookService.GetAllLogbooksByUserAsync(userId); var logbookId = user.CurrentLogbookId; if (user.CurrentLogbookId.HasValue) { var currentLogbook = await this.logbookService.GetLogbookById(user.CurrentLogbookId.Value); model.CurrentLogbook = new LogbookViewModel() { CurrentLogbookId = logbookId, Name = currentLogbook.Name }; model.Manager = new UserViewModel() { CurrentLogbookId = logbookId, Id = userId }; model.CurrentLogbookId = logbookId; var notesDTO = await this.noteService.Get15NotesByIdAsync(1, user.CurrentLogbookId.Value); var notes = notesDTO.Select(x => x.MapFrom()).ToList(); foreach (var note in notes) { note.CanUserEdit = note.UserId == userId; } int notesPerPage = 15; var totalPages = await noteService.GetPageCountForNotesAsync(notesPerPage, (int)logbookId); model.SearchModel = new SearchViewModel() { CurrPage = 1, TotalPages = totalPages, Notes = notes }; if (totalPages > 1) { model.SearchModel.NextPage = 2; } model.SearchModel.Categories = (await CacheNoteCategories()).Select(x => x.MapFrom()).ToList(); model.Logbooks = logbooks.Select(x => x.MapFrom()).ToList(); return(View(model)); } model.SearchModel = new SearchViewModel(); model.Manager = user.MapFrom(); return(View(model)); } catch (NotFoundException ex) { return(BadRequest(ex.Message)); } catch (Exception ex) { log.Error("Unexpected exception occured:", ex); return(RedirectToAction("Error", "Home")); } }