Beispiel #1
0
        //یک دسته با عنوان شعر وادبیات در فهرست دسته بندی ها تعریف میکنم
        private async void When()
        {
            var bookCategory = BookCategoryFactory.GenerateBookCategory("شعروادبیات");
            var dto          = BookCategoryFactory.GenerateAddBookCategoryDto(bookCategory.Title);

            _categoryId = await _sut.AddCategory(dto);
        }
Beispiel #2
0
        public async void Get_get_books_by_categoryid()
        {
            List <Book> books        = new List <Book>();
            var         bookCategory = BookCategoryFactory.GenerateBookCategory();

            _context.Manipulate(_ => _.BookCategories.Add(bookCategory));
            var firstBook = new BookBuilder()
                            .BuildBookWithName("first-book")
                            .BuildBookWithCategoryId(bookCategory.Id)
                            .Build();
            var secondBook = new BookBuilder()
                             .BuildBookWithName("second-book")
                             .BuildBookWithCategoryId(bookCategory.Id)
                             .Build();;

            books.Add(firstBook);
            books.Add(secondBook);
            _context.Manipulate(_ => _.Books.AddRange(books));

            var expected = await _sut.GetBooksByCategoryId(bookCategory.Id);

            expected.Should().HaveCount(2);
            expected.Select(_ => _.Name).Should().Contain("first-book");
            expected.Select(_ => _.Name).Should().Contain("second-book");
        }
Beispiel #3
0
        public async void Update_failed_update_when_book_not_exists()
        {
            BookCategory bookCategory = BookCategoryFactory.GenerateBookCategory();

            _context.Manipulate(_ => _.BookCategories.Add(bookCategory));
            UpdateBookDto dto = BookDtoFactory.GenerateUpdateBookDto(bookCategory.Id,
                                                                     20, "dummy-author", "dummy-name");

            Func <Task> expected = () => _sut.UpdateBook(1, dto);

            expected.Should().ThrowExactly <FailedBookUpdateWhenBookNotExistsException>();
        }
Beispiel #4
0
        //یک دسته بندی با عنوان شعر و ادبیات در فهرست دسته بندی ها وجود دارد
        //و فقط یک کتاب به نویسندگی فروغ فرخزاد با عنوان دیوان اشعار فروغ و
        //رنج سنی بالای 15 سال در فهرست کتاب ها و در دسته شعر و ادبیات وجود دارد
        private void Given()
        {
            _bookCategory = BookCategoryFactory.GenerateBookCategory("شعروادبیات");
            _context.Manipulate(_ => _.BookCategories.Add(_bookCategory));

            _book = new BookBuilder().BuildBookWithName("دیوان اشعارفروغ")
                    .BuildBookWithAuthor("فروغ فرخزاد")
                    .BuildBookWithAgeRange(15)
                    .BuildBookWithCategoryId(_bookCategory.Id)
                    .Build();
            _context.Manipulate(_ => _.Books.Add(_book));
        }
        public EntrustServiceTests()
        {
            var db = new EFInMemoryDatabase();

            _context     = db.CreateDataContext <EFDataContext>();
            _readContext = db.CreateDataContext <EFDataContext>();
            var repository       = new EFEntrustRepository(_context);
            var unitOfWork       = new EFUnitOfWork(_context);
            var bookRepository   = new EFBookRepository(_context);
            var memberRepository = new EFMemberRepository(_context);

            _sut      = new EntrustAppService(repository, unitOfWork, bookRepository, memberRepository);
            _category = BookCategoryFactory.GenerateBookCategory("dummy-title");
        }
Beispiel #6
0
        //یک دسته بندی با عنوان شعر و ادبیات در فهرست دسته بندی ها وجود دارد
        // و یک کتاب به نویسندگی فروغ فرخزاد با عنوان دیوان اشعار فروغ و
        // رده سنی بالای 15 سال در فهرست کتاب ها و در دسته شعر و ادبیات وجود دارد
        //و یک عضو با نام ونام خانوادگی
        //امید جمالی و سن 31 سال و آدرس بلوار محراب در فهرست اعضا وجود دارد
        //و هیچ امانتی در فهرست کتاب های امانت داده شده وجود ندارد
        private void Given()
        {
            var bookCategory = BookCategoryFactory.GenerateBookCategory("شعروادبیات");

            _context.Manipulate(_ => _.BookCategories.Add(bookCategory));

            _book = new BookBuilder().BuildBookWithName("دیوان اشعارفروغ")
                    .BuildBookWithAuthor("فروغ فرخزاد")
                    .BuildBookWithAgeRange(15)
                    .BuildBookWithCategoryId(bookCategory.Id)
                    .Build();
            _context.Manipulate(_ => _.Books.Add(_book));
            _member = MemberFactory.GenerateMember("بلوارمحراب", 31, "امیدجمالی");
            _context.Manipulate(_ => _.Members.Add(_member));
        }
Beispiel #7
0
        public async void Get_find_book_by_id()
        {
            var bookCategory = BookCategoryFactory.GenerateBookCategory("dummy-title");

            _context.Manipulate(_ => _.BookCategories.Add(bookCategory));
            var book = new BookBuilder()
                       .BuildBookWithCategoryId(bookCategory.Id)
                       .BuildBookWithName("dummy-name")
                       .Build();

            _context.Manipulate(_ => _.Books.Add(book));

            var expected = await _sut.FindBookById(book.Id);

            expected.BookCategoryId.Should().Be(bookCategory.Id);
            expected.Name.Should().Be("dummy-name");
        }
Beispiel #8
0
        public async void Update_update_book_properly()
        {
            BookCategory bookCategory = BookCategoryFactory.GenerateBookCategory();

            _context.Manipulate(_ => _.BookCategories.Add(bookCategory));
            Book book = new BookBuilder()
                        .BuildBookWithCategoryId(bookCategory.Id)
                        .Build();

            _context.Manipulate(_ => _.Books.Add(book));
            UpdateBookDto dto = BookDtoFactory.GenerateUpdateBookDto(bookCategory.Id,
                                                                     20, "new-author", book.Name);

            var actual = await _sut.UpdateBook(book.Id, dto);

            var expected = _readContext.Books.Single(_ => _.Id == actual);

            expected.Author.Should().Be("new-author");
            expected.MinAgeNeed.Should().Be(20);
        }
Beispiel #9
0
        //یک دسته بندی با عنوان شعر و ادبیات در فهرست دسته بندی ها وجود دارد
        //و یک کتاب به نویسندگی فروغ فرخزاد با عنوان دیوان اشعار فروغ و رده سنی بالای 15 سال در فهرست کتاب ها و در دسته شعر و ادبیات وجود دارد
        //و یک عضو با نام ونام خانوادگی امید جمالی و سن 31 سال و آدرس بلوار محراب در فهرست اعضا وجود دارد
        //و فقط یک امانت کتاب با عنوان دیوان اشعار فروغ به نویسندگی
        //فروغ فرخزاد و رده سنی بالای 15 سال برای فردی با نام و نام خانوادگی امید جمالی و سن 31 سال
        //و آدرس بلوار محراب و تاریخ برگشت مورد انتظار30/02/1400 در فهرست کتاب های امانت داده شده وجود دارد.
        private void Given()
        {
            var bookCategory = BookCategoryFactory.GenerateBookCategory("شعروادبیات");

            _context.Manipulate(_ => _.BookCategories.Add(bookCategory));
            var book = new BookBuilder()
                       .BuildBookWithCategoryId(bookCategory.Id)
                       .BuildBookWithAgeRange(15)
                       .BuildBookWithAuthor("فروغ فرخزاد")
                       .BuildBookWithName("دیوان اشعارفروغ")
                       .Build();

            _context.Manipulate(_ => _.Books.Add(book));
            var member = MemberFactory.GenerateMember("بلوارمحراب", 31, "امیدجمالی");

            _context.Manipulate(_ => _.Add(member));
            _determinateShamsiToMiladiDate = new DateTime(1400, 2, 30, new PersianCalendar());
            _entrust = EntrustFactory.GenerateEntrust(book.Id, member.Id, _determinateShamsiToMiladiDate);
            _context.Manipulate(_ => _.Entrusts.Add(_entrust));
        }
Beispiel #10
0
        public async void Add_add_book_properly()
        {
            BookCategory bookCategory = BookCategoryFactory.GenerateBookCategory();

            _context.Manipulate(_ => _.BookCategories.Add(bookCategory));
            Book book = new BookBuilder()
                        .BuildBookWithCategoryId(bookCategory.Id)
                        .Build();
            var dto = BookDtoFactory.GenerateAddBookDto(book.BookCategoryId, book.MinAgeNeed
                                                        , book.Author, book.Name);

            var actual = await _sut.AddBook(dto);

            var expected = _readContext.Books.Single(_ => _.Id == actual);

            expected.MinAgeNeed.Should().Be(15);
            expected.Author.Should().Be("dummy-author");
            expected.BookCategoryId.Should().Be(bookCategory.Id);
            expected.Name.Should().Be("dummy-name");
            expected.Id.Should().Be(actual);
        }
Beispiel #11
0
        //یک دسته بندی با عنوان شعر و ادبیات در فهرست دسته بندی ها وجود دارد
        //و به تعداد 3 کتاب با عنوان های دیوان فروغ ،
        //دیوان حافظ و گلستان سعدی در فهرست کتاب ها در دسته شعر وادبیات تعریف شده است
        private void Given()
        {
            _bookCategory = BookCategoryFactory.GenerateBookCategory("شعروادبیات");
            _context.Manipulate(_ => _.BookCategories.Add(_bookCategory));
            var bookFrogh = new BookBuilder()
                            .BuildBookWithName("دیوان فروغ")
                            .BuildBookWithCategoryId(_bookCategory.Id)
                            .Build();
            var bookHafez = new BookBuilder()
                            .BuildBookWithName("دیوان حافظ")
                            .BuildBookWithCategoryId(_bookCategory.Id)
                            .Build();
            var bookSaadi = new BookBuilder()
                            .BuildBookWithName("گلستان سعدی")
                            .BuildBookWithCategoryId(_bookCategory.Id)
                            .Build();

            _context.Manipulate(_ => _.Books.Add(bookFrogh));
            _context.Manipulate(_ => _.Books.Add(bookHafez));
            _context.Manipulate(_ => _.Books.Add(bookSaadi));
        }
Beispiel #12
0
 //یک دسته بندی با عنوان شعر و ادبیات در فهرست دسته بندی ها وجود دارد
 private void Given()
 {
     _bookCategory = BookCategoryFactory.GenerateBookCategory("شعروادبیات");
     _context.Manipulate(_ => _.BookCategories.Add(_bookCategory));
 }