コード例 #1
0
        public async void GetReservation(
            EStatusCode expectedStatus,
            GetReservation query
            )
        {
            var reservation = null as Reservation;

            if (expectedStatus != EStatusCode.NotFound)
            {
                reservation = EntitiesFactory.NewReservation(id: query.Id).Save();
            }

            var(status, result) = await Request.Get <QueryResultOneTest <ReservationDetail> >(new Uri($"{Uri}/{query.Id}"), query);

            Assert.Equal(expectedStatus, status);
            if (expectedStatus == EStatusCode.Success)
            {
                var reservationResult = result.Data;
                Assert.NotNull(reservationResult);
                var vehicle = reservation.Announcement.Vehicle;
                Assert.Equal(reservation.Id, reservationResult.Id);
                Assert.Equal(reservation.Contact.Name, reservationResult.ContactName);
                Assert.Equal(reservation.Contact.Phone, reservationResult.ContactPhone);
                Assert.Equal(reservation.AnnouncementId, reservationResult.AnnouncementId);
            }
        }
コード例 #2
0
        public async void UpdateReservation(
            EStatusCode expectedStatus,
            UpdateReservation mutation
            )
        {
            EntitiesFactory.NewAnnouncement(id: mutation.AnnouncementId).Save();
            if (expectedStatus != EStatusCode.NotFound)
            {
                EntitiesFactory.NewReservation(id: mutation.Id).Save();
            }
            if (expectedStatus == EStatusCode.Conflict)
            {
                EntitiesFactory.NewContact(phone: mutation.ContactPhone).Save();
            }

            var result = await MutationsHandler.Handle(mutation);

            Assert.Equal(expectedStatus, result.Status);
            if (expectedStatus == EStatusCode.Success)
            {
                var reservationDb = await MutationsDbContext.Reservations
                                    .Where(r => r.Id == mutation.Id)
                                    .FirstOrDefaultAsync();

                Assert.NotNull(reservationDb);
                Assert.Equal(mutation.AnnouncementId, reservationDb.AnnouncementId);
                Assert.Equal(mutation.ContactName, reservationDb.Contact.Name);
                Assert.Equal(mutation.ContactPhone, reservationDb.Contact.Phone);
            }
        }
コード例 #3
0
        public async void DeleteReservation(
            EStatusCode expectedStatus,
            DeleteReservation mutation
            )
        {
            if (expectedStatus != EStatusCode.NotFound)
            {
                EntitiesFactory.NewReservation(id: mutation.Id).Save();
            }

            var result = await MutationsHandler.Handle(mutation);

            Assert.Equal(expectedStatus, result.Status);
            if (expectedStatus == EStatusCode.Success)
            {
                var exists = await MutationsDbContext.Reservations
                             .AnyAsync(r => r.Id == mutation.Id);

                Assert.False(exists);
            }
        }
コード例 #4
0
        public async void ListReservations(
            EStatusCode expectedStatus,
            ListReservations query
            )
        {
            var reservation = EntitiesFactory.NewReservation().Save();

            var(status, result) = await Request.Get <QueryResultListTest <ReservationList> >(Uri, query);

            Assert.Equal(expectedStatus, status);
            if (expectedStatus == EStatusCode.Success)
            {
                var reservationResult = result.Data.FirstOrDefault(r => r.Id == reservation.Id);
                Assert.NotNull(reservationResult);
                Assert.Equal(reservation.Id, reservationResult.Id);
                Assert.Equal(reservation.Contact.Name, reservationResult.ContactName);
                Assert.Equal(reservation.Contact.Phone, reservationResult.ContactPhone);
                Assert.Equal(reservation.Announcement.Vehicle.Model.Brand.Name, reservationResult.VehicleBrandName);
                Assert.Equal(reservation.Announcement.Vehicle.Model.Name, reservationResult.VehicleModelName);
            }
        }
コード例 #5
0
        public async void FinishReservation(
            EStatusCode expectedStatus,
            FinishReservation mutation
            )
        {
            if (expectedStatus != EStatusCode.NotFound)
            {
                EntitiesFactory.NewReservation(id: mutation.Id).Save();
            }

            var result = await MutationsHandler.Handle(mutation);

            Assert.Equal(expectedStatus, result.Status);
            if (expectedStatus == EStatusCode.Success)
            {
                var reservationDb = await MutationsDbContext.Reservations.FindAsync(mutation.Id);

                Assert.NotNull(reservationDb.DateSale);
                Assert.NotNull(reservationDb.Announcement.DateSale);
            }
        }