public void RequestAsync_Reservation_Insert_BookNotExists()
        {
            var key = FakeHelper.Key;

            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;
            expected.Loans[0].Book = null;
            expected.Loans[0].Copy = null;
            entity.Should().BeEquivalentToEntity(expected);

            var dtoExpected = ReservationDtoMessageMock.Get(key);

            dtoExpected.ReservationId = entity.Id;
            dto.Should().BeEquivalentToMessage(dtoExpected);
        }
        public void RequestAsync_Reservation_Update_Member_NotAccepted()
        {
            var key   = FakeHelper.Key;
            var order = ReservationMock.GetByReservation(key);

            MockRepository.Add(order);

            var message = ReservationMessageMock.Get(key);
            var key2    = FakeHelper.Key;

            message.MemberName = Fake.GetMemberName(key2);
            message.MemberId   = FakeHelper.GetId(key2).ToString();

            var dto = RequestAsync(message);

            dto.Should().NotBeNull();

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

            var expected = ReservationMock.GetByReservation(key);

            expected.UpdatedAt   = DateTime.UtcNow;
            expected.Loans[0].Id = entity.Loans[0].Id;
            expected.Member.Id   = entity.Member.Id;

            entity.Should().BeEquivalentToEntity(expected);

            var dtoExpected = ReservationDtoMessageMock.Get(key);

            dto.Should().BeEquivalentToMessage(dtoExpected);
        }
        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("", "");
        }
        public void RequestAsync_Reservation_Update_Valid()
        {
            var key         = FakeHelper.Key;
            var reservation = ReservationMock.GetByReservation(key);

            MockRepository.Add(reservation);

            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.UpdatedAt   = DateTime.UtcNow;
            expected.Member.Id   = entity.Member.Id;
            expected.Loans[0].Id = entity.Loans[0].Id;
            entity.Should().BeEquivalentToEntity(expected);

            var dtoExpected = ReservationDtoMessageMock.Get(key);

            dto.Should().BeEquivalentToMessage(dtoExpected);
        }
        public void CreateReservationAsync_Dto_Valid()
        {
            var key         = FakeHelper.Key;
            var reservation = ReservationMock.Get(key);

            MockRepository.Add(reservation);

            var message = ReservationDtoMessageMock.Get(key);

            var dto = CreateReservationAsync(message);

            dto.Should().NotBeNull();

            var dtoExpected = ReservationDtoMock.Get(key);

            dto.Should().BeEquivalentToMessage(dtoExpected);
        }