public async Task ThrowsExeptionWhenBusinessUnitWasNotFound()
        {
            var options = TestUtils.GetOptions(nameof(ThrowsExeptionWhenBusinessUnitWasNotFound));

            using (var arrangeContext = new ManagerLogbookContext(options))
            {
                await arrangeContext.BusinessUnits.AddAsync(TestHelpersLogbook.TestBusinessUnit01());

                await arrangeContext.BusinessUnitCategories.AddAsync(TestHelpersLogbook.TestBusinessUnitCategory01());

                await arrangeContext.Towns.AddAsync(TestHelpersLogbook.TestTown01());

                await arrangeContext.Logbooks.AddAsync(TestHelpersLogbook.TestLogbook01());

                await arrangeContext.SaveChangesAsync();
            }

            using (var assertContext = new ManagerLogbookContext(options))
            {
                var mockedBusinessValidator = new Mock <IBusinessValidator>();
                var sut = new LogbookService(assertContext, mockedBusinessValidator.Object);

                var ex = await Assert.ThrowsExceptionAsync <NotFoundException>(() => sut.AddLogbookToBusinessUnitAsync(TestHelpersLogbook.TestLogbook01().Id, 2));

                Assert.AreEqual(ex.Message, string.Format(ServicesConstants.BusinessUnitNotFound));
            }
        }
        public async Task ThrowsExceptionWhenModeratorUserDoesExists_AddModeratorToBusinessUnitsAsync()
        {
            var options = TestUtils.GetOptions(nameof(ThrowsExceptionWhenModeratorUserDoesExists_AddModeratorToBusinessUnitsAsync));

            using (var arrangeContext = new ManagerLogbookContext(options))
            {
                await arrangeContext.BusinessUnits.AddAsync(TestHelperBusinessUnit.TestBusinessUnit01());

                await arrangeContext.BusinessUnitCategories.AddAsync(TestHelperBusinessUnit.TestBusinessUnitCategory01());

                await arrangeContext.Towns.AddAsync(TestHelperBusinessUnit.TestTown01());

                await arrangeContext.Users.AddAsync(TestHelperBusinessUnit.TestUser01());

                await arrangeContext.SaveChangesAsync();
            }

            using (var assertContext = new ManagerLogbookContext(options))
            {
                var mockBusinessValidator = new Mock <IBusinessValidator>(MockBehavior.Strict);

                var sut = new BusinessUnitService(assertContext, mockBusinessValidator.Object);

                var businessUnit = await sut.AddModeratorToBusinessUnitsAsync(TestHelperBusinessUnit.TestUser01().Id, TestHelperBusinessUnit.TestBusinessUnit01().Id);

                var moderatorUser = await assertContext.Users.FindAsync(TestHelperBusinessUnit.TestUser01().Id);

                var ex = await Assert.ThrowsExceptionAsync <NotFoundException>(() => sut.AddModeratorToBusinessUnitsAsync("11", TestHelperBusinessUnit.TestBusinessUnit01().Id));

                Assert.AreEqual(ex.Message, string.Format(ServicesConstants.UserNotFound));
            }
        }
        public async Task Succeed_ReturnUpdateReview()
        {
            var options = TestUtils.GetOptions(nameof(Succeed_ReturnUpdateReview));

            using (var arrangeContext = new ManagerLogbookContext(options))
            {
                await arrangeContext.BusinessUnits.AddAsync(TestHelperReview.TestBusinessUnit01());

                await arrangeContext.Reviews.AddAsync(TestHelperReview.Review01());

                await arrangeContext.SaveChangesAsync();
            }

            using (var assertContext = new ManagerLogbookContext(options))
            {
                var mockBusinessValidator = new Mock <IBusinessValidator>();
                var mockReviewEditor      = new Mock <IReviewEditor>();

                var sut = new ReviewService(assertContext, mockBusinessValidator.Object, mockReviewEditor.Object);

                var review = await sut.UpdateReviewAsync(1, "Edit Text of Review01");

                mockBusinessValidator.Verify(x => x.IsDescriptionInRange("Edit Text of Review01"), Times.Exactly(1));

                Assert.AreEqual(review.EditedDescription, "Edit Text of Review01");
            }
        }
        public async Task Succeed_ReturnGetBusinessUnitById()
        {
            var options = TestUtils.GetOptions(nameof(Succeed_ReturnGetBusinessUnitById));

            using (var arrangeContext = new ManagerLogbookContext(options))
            {
                await arrangeContext.BusinessUnitCategories.AddAsync(TestHelperBusinessUnit.TestBusinessUnitCategory01());

                await arrangeContext.Towns.AddAsync(TestHelperBusinessUnit.TestTown01());

                await arrangeContext.BusinessUnits.AddAsync(TestHelperBusinessUnit.TestBusinessUnit01());

                await arrangeContext.SaveChangesAsync();
            }

            using (var assertContext = new ManagerLogbookContext(options))
            {
                var mockBusinessValidator = new Mock <IBusinessValidator>();

                var sut = new BusinessUnitService(assertContext, mockBusinessValidator.Object);

                var getBusinessUnitById = await sut.GetBusinessUnitById(1);

                Assert.AreEqual(getBusinessUnitById.Id, 1);
            }
        }
        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);
            }
        }
Esempio n. 6
0
        public static UserManager <User> GetUserManager(ManagerLogbookContext context)
        {
            var store       = new UserStore <User>(context);
            var userManager = new UserManager <User>(store, null, null, null, null, null, null, null, null);

            return(userManager);
        }
        public async Task Succeed_ReturnLogbookWhenManagerWasRemoved()
        {
            var options = TestUtils.GetOptions(nameof(Succeed_ReturnLogbookWhenManagerWasRemoved));

            using (var arrangeContext = new ManagerLogbookContext(options))
            {
                await arrangeContext.Users.AddAsync(TestHelpersLogbook.TestUser01());

                await arrangeContext.Users.AddAsync(TestHelpersLogbook.TestUser02());

                await arrangeContext.Logbooks.AddAsync(TestHelpersLogbook.TestLogbook04());

                await arrangeContext.UsersLogbooks.AddAsync(TestHelpersLogbook.TestUsersLogbooks04());

                await arrangeContext.SaveChangesAsync();
            }

            using (var assertContext = new ManagerLogbookContext(options))
            {
                var mockedBusinessValidator = new Mock <IBusinessValidator>();
                var sut = new LogbookService(assertContext, mockedBusinessValidator.Object);

                await sut.RemoveManagerFromLogbookAsync(TestHelpersLogbook.TestUser01().Id, TestHelpersLogbook.TestLogbook04().Id);

                Assert.AreEqual(assertContext.UsersLogbooks.Select(x => x.LogbookId).Count(), 0);
            }
        }
        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);
            }
        }
        public async Task ThrowsExceptionWhenUserIsNotAuthorized()
        {
            var options = TestUtils.GetOptions(nameof(ThrowsExceptionWhenUserIsNotAuthorized));

            using (var arrangeContext = new ManagerLogbookContext(options))
            {
                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 ex = await Assert.ThrowsExceptionAsync <NotAuthorizedException>(() => sut.CreateNoteAsync(TestHelpersNote.TestUser1().Id, TestHelpersNote.TestLogbook1().Id,
                                                                                                              description, image, TestHelpersNote.TestNoteCategory2().Id));

                Assert.AreEqual(ex.Message, string.Format(ServicesConstants.UserNotManagerOfLogbook, TestHelpersNote.TestUser1().UserName, TestHelpersNote.TestLogbook1().Name));
            }
        }
        public async Task ThrowsExeptionWhenManagerIsAlreadyAddedToLogbook()
        {
            var options = TestUtils.GetOptions(nameof(ThrowsExeptionWhenManagerIsAlreadyAddedToLogbook));

            using (var arrangeContext = new ManagerLogbookContext(options))
            {
                await arrangeContext.Users.AddAsync(TestHelpersLogbook.TestUser01());

                await arrangeContext.Logbooks.AddAsync(TestHelpersLogbook.TestLogbook01());

                await arrangeContext.UsersLogbooks.AddAsync(TestHelpersLogbook.TestUsersLogbooks01());

                await arrangeContext.SaveChangesAsync();
            }

            using (var assertContext = new ManagerLogbookContext(options))
            {
                var mockedBusinessValidator = new Mock <IBusinessValidator>();
                var sut = new LogbookService(assertContext, mockedBusinessValidator.Object);

                var ex = await Assert.ThrowsExceptionAsync <ArgumentException>(() => sut.AddManagerToLogbookAsync(TestHelpersLogbook.TestUser01().Id, 1));

                Assert.AreEqual(ex.Message, string.Format(ServicesConstants.ManagerIsAlreadyInLogbook, TestHelpersLogbook.TestUser01().UserName, TestHelpersLogbook.TestLogbook01().Name));
            }
        }
        public async Task ReturnRightPagesCount()
        {
            var options = TestUtils.GetOptions(nameof(ReturnRightPagesCount));

            using (var arrangeContext = new ManagerLogbookContext(options))
            {
                var notes = new List <Note>();
                for (int i = 0; i < 35; i++)
                {
                    notes.Add(new Note()
                    {
                        Description = "Very nice morning.",
                        LogbookId   = TestHelpersNote.TestLogbook1().Id
                    });
                }
                await arrangeContext.Notes.AddRangeAsync(notes);

                await arrangeContext.SaveChangesAsync();
            }

            using (var assertContext = new ManagerLogbookContext(options))
            {
                var mockedValidator = new Mock <IBusinessValidator>();
                var notesPerPage    = 15;

                var sut = new NoteService(assertContext, mockedValidator.Object);

                var pages = await sut.GetPageCountForNotesAsync(notesPerPage, TestHelpersNote.TestLogbook1().Id);

                Assert.AreEqual(pages, 3);
            }
        }
        public async Task Return_RightCollectionWhenNoDatesSelected()
        {
            var options = TestUtils.GetOptions(nameof(Return_RightCollectionWhenNoDatesSelected));

            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.NoteCategories.AddAsync(TestHelpersNote.TestNoteCategory1());

                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.SearchNotesAsync(TestHelpersNote.TestUser1().Id,
                                                          TestHelpersNote.TestLogbook1().Id, DateTime.MinValue, DateTime.MinValue, 2, "room37", null);

                Assert.AreEqual(notesDTO.Count, 2);
            }
        }
Esempio n. 13
0
        public async Task Should_SearchBusinessUnitsWhenTownIsNullAsync()
        {
            var options = TestUtils.GetOptions(nameof(Should_SearchBusinessUnitsWhenTownIsNullAsync));

            using (var arrangeContext = new ManagerLogbookContext(options))
            {
                await arrangeContext.BusinessUnits.AddAsync(TestHelperBusinessUnit.TestBusinessUnit01());

                await arrangeContext.BusinessUnits.AddAsync(TestHelperBusinessUnit.TestBusinessUnit02());

                await arrangeContext.BusinessUnitCategories.AddAsync(TestHelperBusinessUnit.TestBusinessUnitCategory01());

                await arrangeContext.Towns.AddAsync(TestHelperBusinessUnit.TestTown01());

                await arrangeContext.SaveChangesAsync();
            }

            using (var assertContext = new ManagerLogbookContext(options))
            {
                var mockBusinessValidator = new Mock <IBusinessValidator>(MockBehavior.Strict);
                var mockListBusinessUnit  = new List <BusinessUnit>();

                var sut = new BusinessUnitService(assertContext, mockBusinessValidator.Object);

                var businessUnits = await sut.SearchBusinessUnitsAsync("Kempinski", 1, null);

                Assert.AreEqual(businessUnits.Count, 1);
            }
        }
        public async Task ThrowsExeptionWhenModeratorNotExistsBy_ReturnGetAllReviewsByModeratorId()
        {
            var options = TestUtils.GetOptions(nameof(ThrowsExeptionWhenModeratorNotExistsBy_ReturnGetAllReviewsByModeratorId));

            using (var arrangeContext = new ManagerLogbookContext(options))
            {
                await arrangeContext.BusinessUnits.AddAsync(TestHelperReview.TestBusinessUnit01());

                await arrangeContext.Reviews.AddAsync(TestHelperReview.Review01());

                await arrangeContext.Reviews.AddAsync(TestHelperReview.Review02());

                await arrangeContext.Users.AddAsync(TestHelperReview.TestUser01());

                await arrangeContext.SaveChangesAsync();
            }

            using (var assertContext = new ManagerLogbookContext(options))
            {
                var mockBusinessValidator = new Mock <IBusinessValidator>();
                var mockReviewEditor      = new Mock <IReviewEditor>();

                var sut = new ReviewService(assertContext, mockBusinessValidator.Object, mockReviewEditor.Object);

                var review = await sut.GetAllReviewsByModeratorIdAsync(TestHelperReview.TestUser01().Id);

                var ex = await Assert.ThrowsExceptionAsync <NotFoundException>(() => sut.GetAllReviewsByModeratorIdAsync("2"));

                Assert.AreEqual(ex.Message, string.Format(ServicesConstants.UserNotFound));
            }
        }
Esempio n. 15
0
        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.ShowLogbookNotesWithActiveStatusAsync(TestHelpersNote.TestUser3().Id,
                                                                                                                                    TestHelpersNote.TestLogbook1().Id));

                Assert.AreEqual(ex.Message, string.Format(ServicesConstants.UserIsNotAuthorizedToViewNotes, TestHelpersNote.TestUser3().UserName));
            }
        }
        public async Task Should_GetAllBusinessUnitsByBusinessUnitCategoryAsync()
        {
            var options = TestUtils.GetOptions(nameof(Should_GetAllBusinessUnitsByBusinessUnitCategoryAsync));

            using (var arrangeContext = new ManagerLogbookContext(options))
            {
                await arrangeContext.BusinessUnits.AddAsync(TestHelperBusinessUnit.TestBusinessUnit01());

                await arrangeContext.BusinessUnits.AddAsync(TestHelperBusinessUnit.TestBusinessUnit02());

                await arrangeContext.BusinessUnitCategories.AddAsync(TestHelperBusinessUnit.TestBusinessUnitCategory01());

                await arrangeContext.Towns.AddAsync(TestHelperBusinessUnit.TestTown01());

                await arrangeContext.SaveChangesAsync();
            }

            using (var assertContext = new ManagerLogbookContext(options))
            {
                var mockBusinessValidator = new Mock <IBusinessValidator>(MockBehavior.Strict);

                var sut = new BusinessUnitService(assertContext, mockBusinessValidator.Object);

                var businessUnits = await sut.GetAllBusinessUnitsByCategoryIdAsync(1);

                Assert.AreEqual(businessUnits.Count, 2);
            }
        }
Esempio n. 17
0
        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 GiveLikeBusinessUnitAsync()
        {
            var options = TestUtils.GetOptions(nameof(GiveLikeBusinessUnitAsync));

            using (var arrangeContext = new ManagerLogbookContext(options))
            {
                await arrangeContext.BusinessUnits.AddAsync(TestHelperBusinessUnit.TestBusinessUnit01());

                await arrangeContext.BusinessUnitCategories.AddAsync(TestHelperBusinessUnit.TestBusinessUnitCategory01());

                await arrangeContext.Towns.AddAsync(TestHelperBusinessUnit.TestTown01());

                await arrangeContext.SaveChangesAsync();
            }

            using (var assertContext = new ManagerLogbookContext(options))
            {
                var mockBusinessValidator = new Mock <IBusinessValidator>(MockBehavior.Strict);

                var sut = new BusinessUnitService(assertContext, mockBusinessValidator.Object);

                var businessUnitDTO = await sut.GiveLikeBusinessUnitAsync(TestHelperBusinessUnit.TestBusinessUnit01().Id);

                Assert.AreEqual(businessUnitDTO.Likes, 1);
            }
        }
Esempio n. 19
0
        public async Task SuccessfullySwitch()
        {
            var options = TestUtils.GetOptions(nameof(SuccessfullySwitch));

            using (var arrangeContext = new ManagerLogbookContext(options))
            {
                await arrangeContext.Users.AddAsync(TestHelpersNote.TestUser1());

                await arrangeContext.Logbooks.AddAsync(TestHelpersNote.TestLogbook1());

                await arrangeContext.UsersLogbooks.AddAsync(TestHelpersNote.TestUsersLogbooks1());

                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.SwitchLogbookAsync(TestHelpersNote.TestUser1().Id,
                                                           TestHelpersNote.TestLogbook1().Id);

                Assert.AreEqual(userDTO.CurrentLogbookId, TestHelpersNote.TestLogbook1().Id);
            }
        }
        public async Task Succeed_ReturnCreateBusinessUnit()
        {
            var options = TestUtils.GetOptions(nameof(Succeed_ReturnCreateBusinessUnit));

            using (var arrangeContext = new ManagerLogbookContext(options))
            {
                await arrangeContext.BusinessUnitCategories.AddAsync(TestHelperBusinessUnit.TestBusinessUnitCategory01());

                await arrangeContext.Towns.AddAsync(TestHelperBusinessUnit.TestTown01());

                await arrangeContext.SaveChangesAsync();
            }

            using (var assertContext = new ManagerLogbookContext(options))
            {
                var mockBusinessValidator = new Mock <IBusinessValidator>();

                var sut = new BusinessUnitService(assertContext, mockBusinessValidator.Object);

                var businessUnitDTO = await sut.CreateBusinnesUnitAsync("Hilton", "Cerni Vryh 15", "0123456789", "*****@*****.**", "Information for BU", 1, 1, "picture");

                mockBusinessValidator.Verify(x => x.IsNameInRange("Hilton"), Times.Exactly(1));
                mockBusinessValidator.Verify(x => x.IsAddressInRange("Cerni Vryh 15"), Times.Exactly(1));
                mockBusinessValidator.Verify(x => x.IsPhoneNumberValid("0123456789"), Times.Exactly(1));
                mockBusinessValidator.Verify(x => x.IsEmailValid("*****@*****.**"), Times.Exactly(1));

                Assert.AreEqual(businessUnitDTO.Name, "Hilton");
                Assert.AreEqual(businessUnitDTO.Address, "Cerni Vryh 15");
                Assert.AreEqual(businessUnitDTO.PhoneNumber, "0123456789");
                Assert.AreEqual(businessUnitDTO.Email, "*****@*****.**");
            }
        }
        public async Task ThrowsExeptionWhenManagerWasNotFoundByRemoveManagerFromLogbook()
        {
            var options = TestUtils.GetOptions(nameof(ThrowsExeptionWhenManagerWasNotFoundByRemoveManagerFromLogbook));

            using (var arrangeContext = new ManagerLogbookContext(options))
            {
                await arrangeContext.Users.AddAsync(TestHelpersLogbook.TestUser01());

                await arrangeContext.Logbooks.AddAsync(TestHelpersLogbook.TestLogbook01());

                await arrangeContext.UsersLogbooks.AddAsync(TestHelpersLogbook.TestUsersLogbooks01());

                await arrangeContext.SaveChangesAsync();
            }

            using (var assertContext = new ManagerLogbookContext(options))
            {
                var mockedBusinessValidator = new Mock <IBusinessValidator>();
                var sut = new LogbookService(assertContext, mockedBusinessValidator.Object);

                var ex = await Assert.ThrowsExceptionAsync <NotFoundException>(() => sut.RemoveManagerFromLogbookAsync("2", TestHelpersLogbook.TestLogbook01().Id));

                Assert.AreEqual(ex.Message, string.Format(ServicesConstants.UserNotFound));
            }
        }
        public async Task Succeed_ReturnLogbookWhenParametersAreValid()
        {
            var options = TestUtils.GetOptions(nameof(Succeed_ReturnLogbookWhenParametersAreValid));

            using (var arrangeContext = new ManagerLogbookContext(options))
            {
                await arrangeContext.Logbooks.AddAsync(TestHelpersLogbook.TestLogbook01());

                await arrangeContext.BusinessUnits.AddAsync(TestHelpersLogbook.TestBusinessUnit01());

                await arrangeContext.Notes.AddAsync(TestHelpersLogbook.TestNote01());

                await arrangeContext.SaveChangesAsync();
            }

            using (var assertContext = new ManagerLogbookContext(options))
            {
                var mockedBusinessValidator = new Mock <IBusinessValidator>();
                var sut = new LogbookService(assertContext, mockedBusinessValidator.Object);

                var logbookDTO = await sut.UpdateLogbookAsync(1, "Hotel", 1, "picture");

                Assert.AreEqual(logbookDTO.Name, "Hotel");
                Assert.AreEqual(logbookDTO.Picture, "picture");
            }
        }
        public async Task NotChangedWhenNullValuesAdded()
        {
            var options = TestUtils.GetOptions(nameof(NotChangedWhenNullValuesAdded));

            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.EditNoteAsync(TestHelpersNote.TestNote1().Id,
                                                      TestHelpersNote.TestUser1().Id,
                                                      null, null, null);

                Assert.AreEqual(noteDTO.Description, TestHelpersNote.TestNote1().Description);
                Assert.AreEqual(noteDTO.Image, TestHelpersNote.TestNote1().Image);
                Assert.AreEqual(noteDTO.CategoryName, TestHelpersNote.TestNoteCategory2().Name);
            }
        }
        public async Task ThrowsExeptionWhenLogbookIsNull()
        {
            var options = TestUtils.GetOptions(nameof(ThrowsExeptionWhenLogbookIsNull));

            using (var arrangeContext = new ManagerLogbookContext(options))
            {
                await arrangeContext.Logbooks.AddAsync(TestHelpersLogbook.TestLogbook01());

                await arrangeContext.BusinessUnits.AddAsync(TestHelpersLogbook.TestBusinessUnit01());

                await arrangeContext.Notes.AddAsync(TestHelpersLogbook.TestNote01());

                await arrangeContext.SaveChangesAsync();
            }

            using (var assertContext = new ManagerLogbookContext(options))
            {
                var mockedBusinessValidator = new Mock <IBusinessValidator>();
                var sut = new LogbookService(assertContext, mockedBusinessValidator.Object);

                var ex = await Assert.ThrowsExceptionAsync <NotFoundException>(() => sut.UpdateLogbookAsync(10, "name", 1, "picture"));

                Assert.AreEqual(ex.Message, string.Format(ServicesConstants.LogbookNotFound));
            }
        }
        public async Task Should_AddModeratorToBusinessUnitsAsync()
        {
            var options = TestUtils.GetOptions(nameof(Should_AddModeratorToBusinessUnitsAsync));

            using (var arrangeContext = new ManagerLogbookContext(options))
            {
                await arrangeContext.BusinessUnits.AddAsync(TestHelperBusinessUnit.TestBusinessUnit01());

                await arrangeContext.BusinessUnitCategories.AddAsync(TestHelperBusinessUnit.TestBusinessUnitCategory01());

                await arrangeContext.Towns.AddAsync(TestHelperBusinessUnit.TestTown01());

                await arrangeContext.Users.AddAsync(TestHelperBusinessUnit.TestUser01());

                await arrangeContext.SaveChangesAsync();
            }

            using (var assertContext = new ManagerLogbookContext(options))
            {
                var mockBusinessValidator = new Mock <IBusinessValidator>(MockBehavior.Strict);

                var sut = new BusinessUnitService(assertContext, mockBusinessValidator.Object);

                var businessUnitDTO = await sut.AddModeratorToBusinessUnitsAsync(TestHelperBusinessUnit.TestUser01().Id, TestHelperBusinessUnit.TestBusinessUnit01().Id);

                var moderatorUser = await assertContext.Users.FindAsync(TestHelperBusinessUnit.TestUser01().Id);

                Assert.AreEqual(moderatorUser.BusinessUnitId, TestHelperBusinessUnit.TestBusinessUnit01().Id);
            }
        }
Esempio n. 26
0
        public async Task ThrowsException_UpdateBusinessUnitNameAlreadyExists()
        {
            var options = TestUtils.GetOptions(nameof(ThrowsException_UpdateBusinessUnitNameAlreadyExists));

            using (var arrangeContext = new ManagerLogbookContext(options))
            {
                await arrangeContext.BusinessUnitCategories.AddAsync(TestHelperBusinessUnit.TestBusinessUnitCategory01());

                await arrangeContext.Towns.AddAsync(TestHelperBusinessUnit.TestTown01());

                await arrangeContext.BusinessUnits.AddAsync(TestHelperBusinessUnit.TestBusinessUnit01());

                await arrangeContext.BusinessUnits.AddAsync(TestHelperBusinessUnit.TestBusinessUnit02());

                await arrangeContext.SaveChangesAsync();
            }

            using (var assertContext = new ManagerLogbookContext(options))
            {
                var mockBusinessValidator = new Mock <IBusinessValidator>();

                var sut = new BusinessUnitService(assertContext, mockBusinessValidator.Object);

                var ex = await Assert.ThrowsExceptionAsync <AlreadyExistsException>(() => sut.UpdateBusinessUnitAsync(1, TestHelperBusinessUnit.TestBusinessUnit02().Name, "Nishava 12", "1234567890", "information2", "*****@*****.**", 1, 1, "picture2"));

                Assert.AreEqual(ex.Message, string.Format(ServicesConstants.BusinessUnitNameAlreadyExists));
            }
        }
        public async Task ThrowsExceptionWhenBusinessUnitCategoryNameAlreadyExists()
        {
            var options = TestUtils.GetOptions(nameof(ThrowsExceptionWhenBusinessUnitCategoryNameAlreadyExists));

            using (var arrangeContext = new ManagerLogbookContext(options))
            {
                await arrangeContext.BusinessUnitCategories.AddAsync(TestHelperBusinessUnit.TestBusinessUnitCategory01());

                await arrangeContext.Towns.AddAsync(TestHelperBusinessUnit.TestTown01());

                await arrangeContext.BusinessUnits.AddAsync(TestHelperBusinessUnit.TestBusinessUnit02());

                await arrangeContext.SaveChangesAsync();
            }

            using (var assertContext = new ManagerLogbookContext(options))
            {
                var mockBusinessValidator = new Mock <IBusinessValidator>();

                var sut = new BusinessUnitService(assertContext, mockBusinessValidator.Object);

                var ex = await Assert.ThrowsExceptionAsync <AlreadyExistsException>(() => sut.CreateBusinessUnitCategoryAsync(TestHelperBusinessUnit.TestBusinessUnitCategory01().Name));

                Assert.AreEqual(ex.Message, string.Format(ServicesConstants.BusinessUnitCategoryNameAlreadyExists));
            }
        }
Esempio n. 28
0
        public async Task Succeed_ReturnGetAllReviewsByBusinessUnitId()
        {
            var options = TestUtils.GetOptions(nameof(Succeed_ReturnGetAllReviewsByBusinessUnitId));

            using (var arrangeContext = new ManagerLogbookContext(options))
            {
                await arrangeContext.BusinessUnits.AddAsync(TestHelperReview.TestBusinessUnit01());

                await arrangeContext.Reviews.AddAsync(TestHelperReview.Review01());

                await arrangeContext.Reviews.AddAsync(TestHelperReview.Review02());

                await arrangeContext.SaveChangesAsync();
            }

            using (var assertContext = new ManagerLogbookContext(options))
            {
                var mockBusinessValidator = new Mock <IBusinessValidator>();
                var mockReviewEditor      = new Mock <IReviewEditor>();

                var sut = new ReviewService(assertContext, mockBusinessValidator.Object, mockReviewEditor.Object);

                var review = await sut.GetAllReviewsByBusinessUnitIdAsync(1);

                Assert.AreEqual(review.Count, 2);
            }
        }
        public async Task ThrowsExeptionWhenReviewWasNotFound()
        {
            var options = TestUtils.GetOptions(nameof(ThrowsExeptionWhenReviewWasNotFound));

            using (var arrangeContext = new ManagerLogbookContext(options))
            {
                await arrangeContext.BusinessUnits.AddAsync(TestHelperReview.TestBusinessUnit01());

                await arrangeContext.Reviews.AddAsync(TestHelperReview.Review01());

                await arrangeContext.SaveChangesAsync();
            }

            using (var assertContext = new ManagerLogbookContext(options))
            {
                var mockBusinessValidator = new Mock <IBusinessValidator>();
                var mockReviewEditor      = new Mock <IReviewEditor>();

                var sut = new ReviewService(assertContext, mockBusinessValidator.Object, mockReviewEditor.Object);

                var ex = await Assert.ThrowsExceptionAsync <NotFoundException>(() => sut.UpdateReviewAsync(2, "Edit Text of Review01"));

                Assert.AreEqual(ex.Message, string.Format(ServicesConstants.ReviewNotFound));
            }
        }
        public async Task Succeed_ReturnLogbookWhenWasAddedToBusinessUnitAsync()
        {
            var options = TestUtils.GetOptions(nameof(Succeed_ReturnLogbookWhenWasAddedToBusinessUnitAsync));

            using (var arrangeContext = new ManagerLogbookContext(options))
            {
                await arrangeContext.BusinessUnits.AddAsync(TestHelpersLogbook.TestBusinessUnit01());

                await arrangeContext.BusinessUnitCategories.AddAsync(TestHelpersLogbook.TestBusinessUnitCategory01());

                await arrangeContext.Towns.AddAsync(TestHelpersLogbook.TestTown01());

                await arrangeContext.Logbooks.AddAsync(TestHelpersLogbook.TestLogbook01());

                await arrangeContext.SaveChangesAsync();
            }

            using (var assertContext = new ManagerLogbookContext(options))
            {
                var mockedBusinessValidator = new Mock <IBusinessValidator>();
                var sut = new LogbookService(assertContext, mockedBusinessValidator.Object);

                await sut.AddLogbookToBusinessUnitAsync(TestHelpersLogbook.TestLogbook01().Id, TestHelpersLogbook.TestBusinessUnit01().Id);

                await assertContext.SaveChangesAsync();

                Assert.AreEqual(TestHelpersLogbook.TestLogbook01().BusinessUnitId, TestHelpersLogbook.TestBusinessUnit01().Id);
            }
        }