public async Task ReturnRightCollection() { var options = TestUtils.GetOptions(nameof(ReturnRightCollection)); using (var assertContext = new ManagerLogbookContext(options)) { var mockedRapper = new Mock <IUserServiceWrapper>(); var sut = new UserService(assertContext, mockedRapper.Object); var moderators = new List <User>() { TestHelpersNote.TestUser1(), TestHelpersNote.TestUser2() }; mockedRapper.Setup(x => x.GetAllUsersInRoleAsync("Moderator")).ReturnsAsync(moderators); var usersDTO = await sut.GetAllModeratorsNotPresentInBusinessUnitAsync(1); Assert.AreEqual(usersDTO.Count, 1); } }
public async Task ThrowsExeption_WhenUserIsNotFound() { var options = TestUtils.GetOptions(nameof(ThrowsExeption_WhenUserIsNotFound)); using (var arrangeContext = new ManagerLogbookContext(options)) { await arrangeContext.Notes.AddAsync(TestHelpersNote.TestNote1()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new ManagerLogbookContext(options)) { var mockedValidator = new Mock <IBusinessValidator>(); var sut = new NoteService(assertContext, mockedValidator.Object); var ex = await Assert.ThrowsExceptionAsync <NotFoundException>(() => sut.EditNoteAsync(TestHelpersNote.TestNote1().Id, TestHelpersNote.TestUser2().Id, "edited note", null, null)); Assert.AreEqual(ex.Message, ServicesConstants.UserNotFound); } }
public async Task ThrowsExeption_WhenLogbookNotFound() { var options = TestUtils.GetOptions(nameof(ThrowsExeption_WhenUserIsManagerOfLogbook)); using (var arrangeContext = new ManagerLogbookContext(options)) { await arrangeContext.Users.AddAsync(TestHelpersNote.TestUser1()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new ManagerLogbookContext(options)) { var mockedRapper = new Mock <IUserServiceWrapper>(); var sut = new UserService(assertContext, mockedRapper.Object); var ex = await Assert.ThrowsExceptionAsync <NotFoundException>(() => sut.SwitchLogbookAsync(TestHelpersNote.TestUser1().Id, TestHelpersNote.TestLogbook1().Id)); Assert.AreEqual(ex.Message, ServicesConstants.LogbookNotFound); } }
public async Task ReturnRightUser() { var options = TestUtils.GetOptions(nameof(ReturnRightUser)); using (var arrangeContext = new ManagerLogbookContext(options)) { await arrangeContext.Users.AddAsync(TestHelpersNote.TestUser1()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new ManagerLogbookContext(options)) { var mockedRapper = new Mock <IUserServiceWrapper>(); var sut = new UserService(assertContext, mockedRapper.Object); var userDTO = await sut.GetUserByIdAsync(TestHelpersNote.TestUser1().Id); Assert.AreEqual(userDTO.Id, TestHelpersNote.TestUser1().Id); } }
public async Task ReturnRightNote() { var options = TestUtils.GetOptions(nameof(ReturnRightNote)); using (var arrangeContext = new ManagerLogbookContext(options)) { await arrangeContext.Notes.AddAsync(TestHelpersNote.TestNote1()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new ManagerLogbookContext(options)) { var mockedValidator = new Mock <IBusinessValidator>(); var sut = new NoteService(assertContext, mockedValidator.Object); var noteDTO = await sut.GetNoteByIdAsync(TestHelpersNote.TestNote1().Id); Assert.AreEqual(noteDTO.Id, TestHelpersNote.TestNoteDTO1().Id); } }
public async Task ThrowsExeption_WhenUserIsNotFromLogbook() { var options = TestUtils.GetOptions(nameof(ThrowsExeption_WhenUserIsNotFromLogbook)); using (var arrangeContext = new ManagerLogbookContext(options)) { await arrangeContext.Notes.AddAsync(TestHelpersNote.TestNote4()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new ManagerLogbookContext(options)) { var mockedValidator = new Mock <IBusinessValidator>(); var sut = new NoteService(assertContext, mockedValidator.Object); var ex = await Assert.ThrowsExceptionAsync <NotAuthorizedException>(() => sut.DeactivateNoteActiveStatus(TestHelpersNote.TestNote1().Id, TestHelpersNote.TestUser1().Id)); Assert.AreEqual(ex.Message, string.Format(ServicesConstants.UserIsNotAuthorizedToEditNote, TestHelpersNote.TestUser1().UserName)); } }
public async Task Return_RightCollection() { var options = TestUtils.GetOptions(nameof(Return_RightCollection)); using (var arrangeContext = new ManagerLogbookContext(options)) { await arrangeContext.NoteCategories.AddAsync(TestHelpersNote.TestNoteCategory1()); await arrangeContext.NoteCategories.AddAsync(TestHelpersNote.TestNoteCategory2()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new ManagerLogbookContext(options)) { var mockedValidator = new Mock <IBusinessValidator>(); var sut = new NoteService(assertContext, mockedValidator.Object); var noteCategoriesDTO = await sut.GetNoteCategoriesAsync(); Assert.AreEqual(noteCategoriesDTO.Count, 2); } }
public async Task ThrowsExceptionWhenLogbookNotFound() { var options = TestUtils.GetOptions(nameof(ThrowsExceptionWhenUserNotFound)); using (var arrangeContext = new ManagerLogbookContext(options)) { await arrangeContext.Users.AddAsync(TestHelpersNote.TestUser1()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new ManagerLogbookContext(options)) { var mockedValidator = new Mock <IBusinessValidator>(); var sut = new NoteService(assertContext, mockedValidator.Object); var description = "Room 37 needs cleaning."; var image = "abd22cec-9df6-43ea-b5aa-991689af55d1"; var ex = await Assert.ThrowsExceptionAsync <NotFoundException>(() => sut.CreateNoteAsync(TestHelpersNote.TestUser1().Id, TestHelpersNote.TestLogbook1().Id, description, image, TestHelpersNote.TestNoteCategory2().Id)); Assert.AreEqual(ex.Message, ServicesConstants.LogbookNotFound); } }
public async Task ThrowsExeption_WhenUserIsNotAuthorized() { var options = TestUtils.GetOptions(nameof(ThrowsExeption_WhenUserIsNotAuthorized)); using (var arrangeContext = new ManagerLogbookContext(options)) { await arrangeContext.Notes.AddAsync(TestHelpersNote.TestNote1()); await arrangeContext.Users.AddAsync(TestHelpersNote.TestUser3()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new ManagerLogbookContext(options)) { var mockedValidator = new Mock <IBusinessValidator>(); var sut = new NoteService(assertContext, mockedValidator.Object); var ex = await Assert.ThrowsExceptionAsync <NotAuthorizedException>(() => sut.ShowLogbookNotesForDaysBeforeAsync(TestHelpersNote.TestUser3().Id, TestHelpersNote.TestLogbook1().Id, 4)); Assert.AreEqual(ex.Message, string.Format(ServicesConstants.UserIsNotAuthorizedToViewNotes, TestHelpersNote.TestUser3().UserName)); } }
public async Task SuccessfullyEditNote() { var options = TestUtils.GetOptions(nameof(SuccessfullyEditNote)); using (var arrangeContext = new ManagerLogbookContext(options)) { await arrangeContext.Notes.AddAsync(TestHelpersNote.TestNote1()); await arrangeContext.NoteCategories.AddAsync(TestHelpersNote.TestNoteCategory1()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new ManagerLogbookContext(options)) { var mockedValidator = new Mock <IBusinessValidator>(); var sut = new NoteService(assertContext, mockedValidator.Object); var noteDTO = await sut.EditNoteAsync(TestHelpersNote.TestNote1().Id, TestHelpersNote.TestUser1().Id, "The room is clean", "710f8fd0-c90f-4d6a-b421-3aef173d9cf4", TestHelpersNote.TestNoteCategory1().Id); Assert.AreEqual(noteDTO.Description, "The room is clean"); Assert.AreEqual(noteDTO.Image, "710f8fd0-c90f-4d6a-b421-3aef173d9cf4"); Assert.AreEqual(noteDTO.CategoryName, TestHelpersNote.TestNoteCategory1().Name); } }
public async Task ThrowsExeption_WhenNoteNotExists() { var options = TestUtils.GetOptions(nameof(ThrowsExeption_WhenNoteNotExists)); using (var assertContext = new ManagerLogbookContext(options)) { var mockedValidator = new Mock <IBusinessValidator>(); var sut = new NoteService(assertContext, mockedValidator.Object); var ex = await Assert.ThrowsExceptionAsync <NotFoundException>(() => sut.EditNoteAsync(TestHelpersNote.TestNote1().Id, TestHelpersNote.TestUser2().Id, null, null, null)); Assert.AreEqual(ex.Message, string.Format(ServicesConstants.NotNotFound)); } }
public async Task Return_RightCollection() { var options = TestUtils.GetOptions(nameof(Return_RightCollection)); using (var arrangeContext = new ManagerLogbookContext(options)) { await arrangeContext.Notes.AddAsync(TestHelpersNote.TestNote1()); await arrangeContext.Notes.AddAsync(TestHelpersNote.TestNote2()); await arrangeContext.Notes.AddAsync(TestHelpersNote.TestNote3()); await arrangeContext.UsersLogbooks.AddAsync(TestHelpersNote.TestUsersLogbooks1()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new ManagerLogbookContext(options)) { var mockedValidator = new Mock <IBusinessValidator>(); var sut = new NoteService(assertContext, mockedValidator.Object); var notesDTO = await sut.ShowLogbookNotesForDaysBeforeAsync(TestHelpersNote.TestUser1().Id, TestHelpersNote.TestLogbook1().Id, 3); Assert.AreEqual(notesDTO.Count, 2); } }
public async Task ThrowsExeption_WhenUserIsNotFound() { var options = TestUtils.GetOptions(nameof(ThrowsExeption_WhenUserIsNotFound)); using (var assertContext = new ManagerLogbookContext(options)) { var mockedValidator = new Mock <IBusinessValidator>(); var sut = new NoteService(assertContext, mockedValidator.Object); var ex = await Assert.ThrowsExceptionAsync <NotFoundException>(() => sut.ShowLogbookNotesAsync(TestHelpersNote.TestUser3().Id, TestHelpersNote.TestLogbook1().Id)); Assert.AreEqual(ex.Message, ServicesConstants.UserNotFound); } }
public async Task SucceedCreateWhenNoCategoryAdded() { var options = TestUtils.GetOptions(nameof(SucceedCreateWhenNoCategoryAdded)); using (var arrangeContext = new ManagerLogbookContext(options)) { await arrangeContext.UsersLogbooks.AddAsync(TestHelpersNote.TestUsersLogbooks1()); await arrangeContext.Users.AddAsync(TestHelpersNote.TestUser1()); await arrangeContext.Logbooks.AddAsync(TestHelpersNote.TestLogbook1()); await arrangeContext.SaveChangesAsync(); } using (var assertContext = new ManagerLogbookContext(options)) { var mockedValidator = new Mock <IBusinessValidator>(); var sut = new NoteService(assertContext, mockedValidator.Object); var description = "Room 37 needs cleaning."; var image = "abd22cec-9df6-43ea-b5aa-991689af55d1"; var noteDTO = await sut.CreateNoteAsync(TestHelpersNote.TestUser1().Id, TestHelpersNote.TestLogbook1().Id, description, image, null); mockedValidator.Verify(x => x.IsDescriptionInRange(description), Times.Exactly(1)); mockedValidator.Verify(x => x.IsDescriptionIsNullOrEmpty(description), Times.Exactly(1)); Assert.AreEqual(noteDTO.Id, 1); Assert.AreEqual(noteDTO.Description, description); Assert.IsNull(noteDTO.CategoryName); Assert.IsFalse(noteDTO.IsActiveTask); } }