Beispiel #1
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);
        }
Beispiel #2
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));
        }
Beispiel #3
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());
        }
Beispiel #4
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);
        }
Beispiel #5
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());
        }
Beispiel #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));
        }
Beispiel #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);
        }
        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("", "");
        }
Beispiel #9
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);
        }
Beispiel #10
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);
        }
Beispiel #11
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);
        }
Beispiel #12
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);
        }
Beispiel #13
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();
        }
Beispiel #14
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();
        }
Beispiel #15
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);
        }
Beispiel #16
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);
        }
Beispiel #17
0
        public void GetAllAsync_Book_Valid()
        {
            var key  = FakeHelper.Key;
            var book = BookMock.Get(key);

            MockRepository.Add(book);

            var pagedProxy = GetAllAsync();

            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;

            var pagedProxyExpected = PagedResponseMock.Create(proxy1);

            pagedProxy.Should().BeEquivalentToModel(pagedProxyExpected);
        }
        public void UpdateAsync_Book_Title_NotExists()
        {
            var key = FakeHelper.Key;

            var book = BookMock.Get(key);

            MockRepository.Add(book);

            var message = BookMessageMock.Get(key);

            message.Title  = Fake.GetTitle(FakeHelper.Key);
            message.Author = Fake.GetAuthorName(FakeHelper.Key);

            UpdateAsync(message);

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

            entity.Should().NotBeNull();

            var expected = BookMock.Get(key);

            entity.Should().BeEquivalentToEntity(expected);
        }
Beispiel #19
0
        public void SaveAsync_Book_Insert_Category_NotExist()
        {
            var key = FakeHelper.Key;

            var model = BookMessageMock.Get(key);

            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;
            entity.Should().BeEquivalentToEntity(expected);

            var messageExpected = BookUpdateMessageMock.Get(key);

            messageExpected.Id = entity.Id;
            message.Should().BeEquivalentToMessage(messageExpected);
        }
Beispiel #20
0
        public void GetByFilterAsync_Valid()
        {
            var keys = new string[]
            {
                FakeHelper.Key,
                FakeHelper.Key
            };

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

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

            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);
        }