public void RequestAsync_Reservation_Insert_Valid()
        {
            var key  = FakeHelper.Key;
            var book = BookMock.Get(key);
            var copy = CopyMock.Get(key);

            MockRepository.Add(book);
            MockRepository.Add(copy);

            var message = ReservationMessageMock.Get(key);

            var dto = RequestAsync(message);

            dto.Should().NotBeNull();

            var entity = Db.Reservations.FirstOrDefault(x => x.Number == Fake.GetReservationNumber(key));

            var expected = ReservationMock.GetByReservation(key);

            expected.Id          = entity.Id;
            expected.Member.Id   = entity.Member.Id;
            expected.Loans[0].Id = entity.Loans[0].Id;
            entity.Should().BeEquivalentToEntity(expected);

            var dtoExpected = ReservationDtoMessageMock.Get(key);

            dtoExpected.ReservationId = entity.Id;
            dto.Should().BeEquivalentToMessage(dtoExpected);

            //var profillingExpected = ProfilingEntityMock.Get("", "");
        }
Пример #2
0
        public void SaveAsync_Book_Insert_FlagTableAtuthor_Author_NotExist()
        {
            var key      = FakeHelper.Key;
            var category = BookCategoryMock.Get(key);

            MockRepository.Add(category);

            var model = BookMessageMock.Get(key);

            var settings = Settings.Empty;

            settings.FeatureFlags.TryAdd(FeatureFlags.AddTableAtuthor, true);

            var message = SaveAsync(model, settings);

            message.Should().NotBeNull();

            var entity = Db.Books.FirstOrDefault(x => x.Title == Fake.GetTitle(key));

            entity.Should().NotBeNull();

            var expected = BookMock.Get(key);

            expected.Id         = entity.Id;
            expected.Author     = BookAuthorMock.Get(key);
            expected.Author.Id  = entity.Author.Id;
            expected.AuthorName = null;
            entity.Should().BeEquivalentToEntity(expected);

            var messageExpected = BookUpdateMessageMock.Get(key);

            messageExpected.Id = entity.Id;
            message.Should().BeEquivalentToMessage(messageExpected);
        }
Пример #3
0
        public void Handle_BookCommand_With_Category_Not_Existing_Category()
        {
            // arrange
            var key = MockBuilder.Key;

            var command = SaveBookCommandMock.Create(key)
                          .Default()
                          .WithCategory()
                          .Build();

            // act
            var result = Handle(command);

            // assert
            result.Should().BeTrue();

            var books = MockRepository.Query <Domain.Entities.Book>()
                        .Include(x => x.Categories)
                        .ThenInclude(x => x.Category)
                        .ToList();
            var bookExpected = BookMock.Create(key)
                               .Default()
                               .WithCategory(books[0].Categories[0].Category)
                               .Build();

            books.Should().BeEquivalentToEntity(MockBuilder.List(bookExpected));

            var events        = Bus.GetAllPublished <UpdateBookEvent>(ContextNames.Exchange.Book);
            var eventExpected = UpdateBookEventMock.Get(key);

            events.Should().BeEquivalentToMessage(MockBuilder.List(eventExpected));
        }
Пример #4
0
        public void Handle_ListBookFilteringQuery_Filter_Language()
        {
            // arrange
            var key = MockBuilder.Key;

            var book = BookMock.Get(key);

            MockRepository.Add(book);

            var key2 = MockBuilder.Key;

            var book2 = BookMock.Get(key2);

            book2.Language = Language.Portuguese;
            MockRepository.Add(book2);

            MockRepository.Commit();

            var query = ListBookFilteringQueryMock.Get(key);

            query.Language = book2.Language;

            // act
            var dto = Handle(query);

            dto.Should().NotBeNull();

            var dtoExpected = BookDtoMock.Get(key2);

            dtoExpected.Language = book2.Language;
            dto.Should().BeEquivalentTo(MockBuilder.List(dtoExpected).ToPagedResponse());
        }
Пример #5
0
        public void GetByFilterAsync_Filter_Language()
        {
            var keys = new string[]
            {
                FakeHelper.Key,
                FakeHelper.Key
            };

            var book = BookMock.Get(keys[0]);

            book.Language = Language.Portuguese;

            MockRepository.Add(book);
            MockRepository.Add(BookMock.Get(keys[1]));

            var pagination = PagedRequestMock.Create(BookFilterPayloadMock.Get());

            pagination.Filter.Language = book.Language;

            var proxy = GetByFilterAsync(pagination);

            proxy.Should().NotBeNull();

            var proxy1 = BookProxyMock.Get(keys[0]);

            proxy1.Language = Language.Portuguese;

            var pagedProxyExpected = PagedResponseMock.Create(proxy1);

            proxy.Should().BeEquivalentToModel(pagedProxyExpected);
        }
Пример #6
0
        public void Handle_UpdateBookCommand_Book_Not_Exists()
        {
            // arrange
            var key = MockBuilder.Key;

            var book = BookMock.Get(key);

            MockRepository.Add(book);

            MockRepository.Commit();

            var key2    = MockBuilder.Key;
            var command = UpdateBookCommandMock.Get(key2);

            // act
            var result = Handle(command);

            // assert
            result.Should().BeTrue();

            var books        = MockRepository.Query <Book>().ToList();
            var bookExpected = BookMock.Get(key);

            books.Should().BeEquivalentToEntity(MockBuilder.List(bookExpected));
        }
Пример #7
0
        public void GetByFilterAsync_Filter_Category()
        {
            var keys = new string[]
            {
                FakeHelper.Key,
                FakeHelper.Key
            };

            var book = BookMock.Create(keys[0])
                       .Default()
                       .WithCategory()
                       .Build();

            MockRepository.Add(book);
            MockRepository.Add(BookMock.Get(keys[1]));

            var pagination = PagedRequestMock.Create(BookFilterPayloadMock.Get());

            pagination.Filter.Category = Fake.GetCategoryName(keys[0]);

            var proxy = GetByFilterAsync(pagination);

            proxy.Should().NotBeNull();

            var proxy1 = BookProxyMock.Get(keys[0]);

            var pagedProxyExpected = PagedResponseMock.Create(proxy1);

            proxy.Should().BeEquivalentToModel(pagedProxyExpected);
        }
Пример #8
0
        public void SaveAsync_Book_Insert_Valid()
        {
            var key      = FakeHelper.Key;
            var category = BookCategoryMock.Get(key);

            MockRepository.Add(category);

            var model = BookMessageMock.Create(key)
                        .Default()
                        .WithCategory()
                        .Build();

            var message = SaveAsync(model);

            message.Should().NotBeNull();

            var entity = Db.Books.FirstOrDefault(x => x.Title == Fake.GetTitle(key));

            entity.Should().NotBeNull();

            var expected = BookMock.Get(key);

            expected.Id = entity.Id;
            var expectedCategory = BookCategoryBookMock.Get(expected, entity.Categories[0].Category);

            expectedCategory.Id = entity.Categories[0].Id;
            expected.Categories.Add(expectedCategory);
            entity.Should().BeEquivalentToEntity(expected);

            var messageExpected = BookUpdateMessageMock.Get(key);

            messageExpected.Id = entity.Id;
            message.Should().BeEquivalentToMessage(messageExpected);
        }
Пример #9
0
        public void GetByFilterAsync_Book_FlagTableAtuthor_WithAuthor()
        {
            var keys = new string[]
            {
                FakeHelper.Key,
                FakeHelper.Key
            };
            var book1 = BookMock.Get(keys[0]);

            book1.Author = BookAuthorMock.Get(keys[0]);

            MockRepository.Add(book1);
            MockRepository.Add(BookMock.Get(keys[1]));

            var pagination = PagedRequestMock.Create(BookFilterPayloadMock.Get());

            var settings = Settings.Empty;

            settings.FeatureFlags.TryAdd(FeatureFlags.AddTableAtuthor, true);

            var pagedProxy = GetByFilterAsync(pagination, settings);

            pagedProxy.Should().NotBeNull();

            var proxy = GetByFilterAsync(pagination);

            proxy.Should().NotBeNull();

            var proxy1 = BookProxyMock.Get(keys[0]);
            var proxy2 = BookProxyMock.Get(keys[1]);

            var pagedProxyExpected = PagedResponseMock.Create(proxy1, proxy2);

            proxy.Should().BeEquivalentToModel(pagedProxyExpected);
        }
Пример #10
0
        public void GetAllAsync_Book_FlagTableAtuthor_WithoutAuthor()
        {
            var key  = FakeHelper.Key;
            var book = BookMock.Get(key);

            book.Author = null;
            MockRepository.Add(book);

            var settings = Settings.Empty;

            settings.FeatureFlags.TryAdd(FeatureFlags.AddTableAtuthor, true);

            var pagedProxy = GetAllAsync(settings);

            pagedProxy.Should().NotBeNull();

            var entity = Db.Books.FirstOrDefault(x => x.Title == Fake.GetTitle(key));

            entity.Should().NotBeNull();

            var proxy1 = BookProxyMock.Get(key);

            proxy1.Id     = entity.Id;
            proxy1.Author = null;

            var pagedProxyExpected = PagedResponseMock.Create(proxy1);

            pagedProxy.Should().BeEquivalentToModel(pagedProxyExpected);
        }
Пример #11
0
        public void When_FindByTitle_Then_Return_ValidData()
        {
            var firstBook = BookMock.GetList().First();
            var books     = _bookRepository.Get(x => x.Title.ToLower().Contains(firstBook.Title.ToLower())).ToList();

            Assert.AreEqual(firstBook.Title, books.First().Title);
        }
Пример #12
0
        public void GetByIdAsync_Book_FlagTableAtuthor_WithAuthor()
        {
            var key  = FakeHelper.Key;
            var book = BookMock.Get(key);

            book.Author = BookAuthorMock.Get(key);
            MockRepository.Add(book);

            var settings = Settings.Empty;

            settings.FeatureFlags.TryAdd(FeatureFlags.AddTableAtuthor, true);

            var proxy = GetByIdAsync(book.Id, settings);

            proxy.Should().NotBeNull();

            var entity = Db.Books.FirstOrDefault(x => x.Title == Fake.GetTitle(key));

            entity.Should().NotBeNull();

            var proxyExpected = BookProxyMock.Get(key);

            proxyExpected.Id = entity.Id;
            proxy.Should().BeEquivalentToModel(proxyExpected);
        }
Пример #13
0
        public void Handle_BookCommand_Book_Exist()
        {
            // arrange
            var key = MockBuilder.Key;

            var book = BookMock.Get(key);

            MockRepository.Add(book);

            MockRepository.Commit();

            var key2    = MockBuilder.Key;
            var command = SaveBookCommandMock.Get(key2);

            command.Title = book.Title;

            // act
            var result = Handle(command);

            // assert
            result.Should().BeTrue();

            var books        = MockRepository.Query <Domain.Entities.Book>().ToList();
            var bookExpected = BookMock.Get(key2);

            bookExpected.Title = book.Title;
            books.Should().BeEquivalentToEntity(MockBuilder.List(bookExpected));

            var events        = Bus.GetAllPublished <UpdateBookEvent>(ContextNames.Exchange.Book);
            var eventExpected = UpdateBookEventMock.Get(key2);

            eventExpected.Title = book.Title;
            events.Should().BeEquivalentToMessage(MockBuilder.List(eventExpected));
        }
Пример #14
0
        public void Handle_ListBookFilteringQuery_Multiple()
        {
            // arrange
            var key = MockBuilder.Key;

            var book = BookMock.Get(key);

            MockRepository.Add(book);

            var key2 = MockBuilder.Key;

            var book2 = BookMock.Get(key2);

            MockRepository.Add(book2);

            MockRepository.Commit();

            var query = ListBookFilteringQueryMock.Get(key);

            // act
            var dto = Handle(query);

            dto.Should().NotBeNull();

            var dtoExpected  = BookDtoMock.Get(key);
            var dtoExpected2 = BookDtoMock.Get(key2);

            dto.Should().BeEquivalentTo(MockBuilder.List(dtoExpected, dtoExpected2).ToPagedResponse());
        }
Пример #15
0
        public void GetById()
        {
            var firstBook = BookMock.GetList().First();
            var book      = _bookRepository.GetById(firstBook.Id);

            Assert.IsNotNull(book);
            Assert.AreEqual(firstBook.Id, book.Id);
        }
Пример #16
0
        public void GetBookWithSpesificTitle()
        {
            var firstBook = BookMock.GetList().First();
            var books     = _bookRepository.Get(x => x.Title.Contains(firstBook.Title)).ToList();

            Assert.AreNotEqual(0, books.Count);
            Assert.AreEqual(firstBook.Id, books.First().Id);
        }
Пример #17
0
        public void When_GetDetail_ReturnValidData()
        {
            var firstBook = BookMock.GetList().First();

            _bookRepo.GetById(firstBook.Id).Returns(firstBook);
            var actualResult = _bookBLL.GetDetail(firstBook.Id);

            Assert.AreEqual(firstBook.Id, actualResult.Book.Id);
        }
Пример #18
0
        public override void Setup()
        {
            base.Setup();
            context.Categories.Add(CategoryMock.GetValidSingle());
            context.SaveChanges();
            var category = context.Categories.First();

            context.Books.AddRange(BookMock.GetList());
            context.SaveChanges();
            _bookRepository = unitOfWork.GetGenericRepository <Book>();
        }
Пример #19
0
        public void GetByIdAsync_Book_Invalid()
        {
            var key  = FakeHelper.Key;
            var book = BookMock.Get(key);

            MockRepository.Add(book);

            var book2 = BookMock.Get(FakeHelper.Key);

            var proxy = GetByIdAsync(book2.Id);

            proxy.Should().BeNull();
        }
Пример #20
0
        public void When_GetAll_Then_All()
        {
            //arrange
            var expectedResult = BookMock.GetList();

            _bookRepo.Get().Returns(expectedResult);

            //act
            var actualResult = _bookBLL.GetAll();

            //assert
            Assert.AreEqual(expectedResult.Count, actualResult.Books.Count);
            Assert.AreEqual(expectedResult.First().Title, actualResult.Books.First().Title);
        }
Пример #21
0
        public void When_AddNewBook_Then_Data_Is_Added()
        {
            //arrange
            var category            = context.Categories.First();
            var newBook             = BookMock.GetValidBook(category);
            var booksCountBeforeAdd = context.Books.Count();

            //act
            _bookRepository.Insert(newBook);
            unitOfWork.SaveChanges();

            //assert
            var booksCountAfterAdd = context.Books.Count();

            Assert.AreEqual(booksCountBeforeAdd + 1, booksCountAfterAdd);
        }
Пример #22
0
        public void When_AddNewBook_NotValidCategory_Then_ReturnException()
        {
            var categoryNull = CategoryMock.GetNull();

            _categoryRepo.GetById(0).Returns(categoryNull);
            try
            {
                _bookBLL.AddNewBook(BookMock.GetInputWithNotValidCategoryMock());
                Assert.Fail();
            }
            catch (Exception ex)
            {
                Assert.IsInstanceOfType(ex, typeof(BLLException));
                Assert.AreEqual(ExceptionCodes.BLLExceptions.CategoryNotFound.ToString(), ((BLLException)ex).Code);
                throw ex;
            }
        }
Пример #23
0
        public BookServiceTests()
        {
            // Definindo quais serão as classes mockadas
            bookServiceMock     = new Mock <IBookService>();
            uploadServiceMock   = new Mock <IUploadService>();
            unitOfWorkMock      = new Mock <IUnitOfWork>();
            bookRepositoryMock  = new Mock <IBookRepository>();
            bookEmailService    = new Mock <IBooksEmailService>();
            bookUserServiceMock = new Mock <IBookUserService>();

            bookRepositoryMock.Setup(repo => repo.Insert(It.IsAny <Book>())).Returns(() =>
            {
                return(BookMock.GetLordTheRings());
            });
            uploadServiceMock.Setup(service => service.UploadImage(null, null, null));
            bookServiceMock.Setup(service => service.Insert(It.IsAny <Book>())).Verifiable();
        }
Пример #24
0
        public void When_FindByTitle_Then_ReturnValidData()
        {
            //arrange
            var matchBook  = BookMock.GetList().First();
            var matchBooks = new List <Book>
            {
                matchBook
            };

            _bookRepo.Get(Arg.Any <Expression <Func <Book, bool> > >()).Returns(matchBooks);

            //act
            var actualResult = _bookBLL.GetByTitle(matchBook.Title);

            //assert
            Assert.AreEqual(matchBook.Title, actualResult.Books.First().Title);
        }
Пример #25
0
        public BookUserServiceTests()
        {
            bookId                 = new Guid("5489A967-9320-4350-E6FC-08D5CC8498F3");
            bookServiceMock        = new Mock <IBookService>();
            bookUserRepositoryMock = new Mock <IBookUserRepository>();
            bookEmailService       = new Mock <IBooksEmailService>();
            unitOfWorkMock         = new Mock <IUnitOfWork>();
            bookUsersEmailService  = new Mock <IBookUsersEmailService>();
            muambatorServiceMock   = new Mock <IMuambatorService>();
            bookRepositoryMock     = new Mock <IBookRepository>();

            bookServiceMock.SetReturnsDefault(true);

            bookServiceMock.Setup(s => s.GetBookWithAllUsers(It.IsAny <Guid>())).Returns(() =>
            {
                return(BookMock.GetLordTheRings());
            });
        }
Пример #26
0
        public void Handle_GetBookQuery_Book_Not_Exists()
        {
            // arrange
            var key = MockBuilder.Key;

            var book = BookMock.Get(key);

            MockRepository.Add(book);

            MockRepository.Commit();

            var key2  = MockBuilder.Key;
            var query = GetBookQueryMock.Get(key2);

            // act
            var dto = Handle(query);

            dto.Should().BeNull();
        }
Пример #27
0
        public void GetByIdAsync_Book_Valid()
        {
            var key  = FakeHelper.Key;
            var book = BookMock.Get(key);

            MockRepository.Add(book);

            var proxy = GetByIdAsync(book.Id);

            proxy.Should().NotBeNull();

            var entity = Db.Books.FirstOrDefault(x => x.Title == Fake.GetTitle(key));

            entity.Should().NotBeNull();

            var proxyExpected = BookProxyMock.Get(key);

            proxyExpected.Id = entity.Id;
            proxy.Should().BeEquivalentToModel(proxyExpected);
        }
Пример #28
0
        public void Handle_GetBookQuery_Default()
        {
            // arrange
            var key = MockBuilder.Key;

            var book = BookMock.Get(key);

            MockRepository.Add(book);

            MockRepository.Commit();

            var query = GetBookQueryMock.Get(key);

            // act
            var dto = Handle(query);

            dto.Should().NotBeNull();

            var dtoExpected = BookDtoMock.Get(key);

            dto.Should().BeEquivalentTo(dtoExpected);
        }
        public EmailTemplateTests()
        {
            emailTemplate = new EmailTemplate();

            user = UserMock.GetDonor();

            requestingUser = UserMock.GetGrantee();

            administrator = UserMock.GetAdmin();

            book = BookMock.GetLordTheRings(user);

            contactUs = new ContactUs()
            {
                Name    = "Rafael Rocha",
                Email   = "*****@*****.**",
                Message = "At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident",
                Phone   = "(11) 954422-2765"
            };

            bookRequested = BookUserMock.GetDonation(book, requestingUser);
        }
Пример #30
0
        public BookUserServiceTests()
        {
            bookId                 = new Guid("5489A967-9320-4350-E6FC-08D5CC8498F3");
            bookServiceMock        = new Mock <IBookService>();
            bookUserRepositoryMock = new Mock <IBookUserRepository>();
            bookEmailService       = new Mock <IBooksEmailService>();
            unitOfWorkMock         = new Mock <IUnitOfWork>();
            bookUsersEmailService  = new Mock <IBookUsersEmailService>();
            muambatorServiceMock   = new Mock <IMuambatorService>();
            bookRepositoryMock     = new Mock <IBookRepository>();
            configurationMock      = new Mock <IConfiguration>();

            configurationMock.Setup(c => c["SharebookSettings:MaxRequestsPerBook"]).Returns("50");
            configurationMock.Setup(c => c["EmailSettings:SendEmailBookRequested"]).Returns("false");

            bookServiceMock.SetReturnsDefault(true);

            bookServiceMock.Setup(s => s.GetBookWithAllUsers(It.IsAny <Guid>())).Returns(() =>
            {
                return(BookMock.GetLordTheRings());
            });
        }