Exemplo n.º 1
0
        public async Task Set_Series_Read_Order()
        {
            var series = await SeriesHelpers.CreateValidSeriesWithBooks();

            var repository = new SeriesRepository(_fixture.Context);

            (await repository.ExistsAsync(series.Id)).Should().BeTrue();

            var sut = await repository.LoadAsync(series.Id);

            var seriesId = sut.Id;

            sut.Should().NotBeNull();
            sut.Books.Count.Should().Be(2);
            sut.Books.SingleOrDefault(b => b.Instalment == 1)?.BooksId
            .Should().Be(sut.Books.SingleOrDefault(r => r.Book.Title == "Book 1")?.BooksId);
            sut.Books.SingleOrDefault(b => b.Instalment == 2)?.BooksId
            .Should().Be(sut.Books.SingleOrDefault(r => r.Book.Title == "Book 2")?.BooksId);

            // Re-order collection
            sut = await repository.LoadAsync(series.Id);

            sut.Books.Single(b => b.Instalment == 1).Instalment = 0;
            sut.Books.Single(b => b.Instalment == 2).Instalment = 1;
            sut.Books.Single(b => b.Instalment == 0).Instalment = 2;

            await repository.SaveAsync();

            sut = await repository.LoadAsync(series.Id);

            sut.Books.SingleOrDefault(b => b.Instalment == 2)?.BooksId
            .Should().Be(sut.Books.SingleOrDefault(r => r.Book.Title == "Book 1")?.BooksId);
            sut.Books.SingleOrDefault(b => b.Instalment == 1)?.BooksId
            .Should().Be(sut.Books.SingleOrDefault(r => r.Book.Title == "Book 2")?.BooksId);
        }
Exemplo n.º 2
0
        public async Task Update_Series_Books()
        {
            var series = await SeriesHelpers.CreateValidSeriesWithBooks();

            var repository = new SeriesRepository(_fixture.Context);

            (await repository.ExistsAsync(series.Id)).Should().BeTrue();

            var sut = await repository.LoadAsync(series.Id);

            var seriesId = sut.Id;

            sut.Should().NotBeNull();
            sut.Books.Count.Should().Be(2);

            // Add one more book to series
            var book1 = await BookHelpers.CreateValidBook();

            var book2 = await BookHelpers.CreateValidBook();

            var newReadOrder = new List <ReadOrder>
            {
                ReadOrder.NewReadOrder(book1, null, 3),
                ReadOrder.NewReadOrder(book2, null, 4)
            };
            await SeriesHelpers.UpdateSeriesReadOrder(sut.Id, newReadOrder);

            sut = await repository.LoadAsync(series.Id);

            sut.Books.Count.Should().Be(4);
            sut.Id.Should().Be(seriesId);
        }