예제 #1
0
        public async void Update_update_real_return_date_properly()
        {
            _context.Manipulate(_ => _.BookCategories.Add(_category));
            var book = new BookBuilder()
                       .BuildBookWithCategoryId(_category.Id)
                       .BuildBookWithAgeRange(15)
                       .Build();

            _context.Manipulate(_ => _.Books.Add(book));
            var member = MemberFactory.GenerateMember("dummy-address", 31, "dummy-name");

            _context.Manipulate(_ => _.Members.Add(member));
            var determinateShamsiToMiladi = new DateTime(1400, 2, 30, new PersianCalendar());
            var entrust = EntrustFactory.GenerateEntrust(book.Id, member.Id, determinateShamsiToMiladi);

            _context.Manipulate(_ => _.Entrusts.Add(entrust));
            var realShamsiToMiladiDate = new DateTime(1400, 2, 25, new PersianCalendar());
            var dto = EntrustFactory.GenerateEntrustRealReturnDateDto(realShamsiToMiladiDate);

            var actual = await _sut.UpdateEntrustRealReturnDate(entrust.Id, dto);

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

            expected.RealReturnDate.Should().Be(realShamsiToMiladiDate);
        }
예제 #2
0
        public async void Get_find_member_by_member_id()
        {
            var member = MemberFactory.GenerateMember("dummy-address", 31, "dummy-fullname");

            _context.Manipulate(_ => _.Add(member));

            var expected = await _sut.FindMemberById(member.Id);

            expected.Age.Should().Be(31);
            expected.FullName.Should().Be("dummy-fullname");
            expected.Address.Should().Be("dummy-address");
        }
예제 #3
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));
        }
예제 #4
0
        public void Add_failed_when_member_age_not_in_valid_range()
        {
            _context.Manipulate(_ => _.BookCategories.Add(_category));
            var book = new BookBuilder()
                       .BuildBookWithCategoryId(_category.Id)
                       .BuildBookWithAgeRange(15)
                       .Build();

            _context.Manipulate(_ => _.Books.Add(book));
            var member = MemberFactory.GenerateMember("dummy-address", 11, "dummy-name");

            _context.Manipulate(_ => _.Members.Add(member));
            var dto = EntrustFactory.GenerateAddEntrustDto(book.Id, member.Id, DateTime.Today);

            Func <Task> expected = () => _sut.AddEntrust(dto);

            expected.Should().ThrowExactly <FailedAddEntrustWhenMemberAgeIsNotInValidRanegException>();
        }
예제 #5
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));
        }
예제 #6
0
        public async void Add_add_entrust_properly()
        {
            _context.Manipulate(_ => _.BookCategories.Add(_category));
            var book = new BookBuilder()
                       .BuildBookWithCategoryId(_category.Id)
                       .Build();

            _context.Manipulate(_ => _.Books.Add(book));
            var member = MemberFactory.GenerateMember("dummy-address", 31, "dummy-fulname");

            _context.Manipulate(_ => _.Members.Add(member));
            var dto = EntrustFactory.GenerateAddEntrustDto(book.Id, member.Id, DateTime.Today);

            var actual = await _sut.AddEntrust(dto);

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

            expected.BookId.Should().Be(book.Id);
            expected.MemberId.Should().Be(member.Id);
            expected.DeterminateReturnDate.Should().Be(DateTime.Today);
        }
예제 #7
0
        public async void Get_find_entrust_by_id()
        {
            _context.Manipulate(_ => _.BookCategories.Add(_category));
            var book = new BookBuilder()
                       .BuildBookWithCategoryId(_category.Id)
                       .BuildBookWithAgeRange(15)
                       .Build();

            _context.Manipulate(_ => _.Books.Add(book));
            var member = MemberFactory.GenerateMember("dummy-address", 31, "dummy-name");

            _context.Manipulate(_ => _.Members.Add(member));
            var entrust = EntrustFactory.GenerateEntrust(book.Id, member.Id, DateTime.Today);

            _context.Manipulate(_ => _.Entrusts.Add(entrust));

            var expected = await _sut.FindEntrustById(entrust.Id);

            expected.BookId.Should().Be(book.Id);
            expected.MemberId.Should().Be(member.Id);
            expected.DeterminateReturnDate.Should().Be(DateTime.Today);
        }
예제 #8
0
        public void Update_failed_when_determinate_return_date_was_expired()
        {
            _context.Manipulate(_ => _.BookCategories.Add(_category));
            var book = new BookBuilder()
                       .BuildBookWithCategoryId(_category.Id)
                       .BuildBookWithAgeRange(15)
                       .Build();

            _context.Manipulate(_ => _.Books.Add(book));
            var member = MemberFactory.GenerateMember("dummy-address", 31, "dummy-name");

            _context.Manipulate(_ => _.Members.Add(member));
            var determinateShamsiToMiladi = new DateTime(1400, 2, 30, new PersianCalendar());
            var entrust = EntrustFactory.GenerateEntrust(book.Id, member.Id, determinateShamsiToMiladi);

            _context.Manipulate(_ => _.Entrusts.Add(entrust));
            var realShamsiToMiladiDate = new DateTime(1400, 3, 5, new PersianCalendar());
            var dto = EntrustFactory.GenerateEntrustRealReturnDateDto(realShamsiToMiladiDate);

            Func <Task> expected = () => _sut.UpdateEntrustRealReturnDate(entrust.Id, dto);

            expected.Should().ThrowExactly <FailedWhenDeterminateReturnDateWasExpiredException>();
        }