public static void RegisterCustomer(ExpectedCustomer customer, ExpectedBusiness business)
        {
            var json     = CreateNewCustomerSaveCommand(customer);
            var response = PostCustomer(business, json);

            if (response.Payload != null)
            {
                customer.Id = ((CustomerData)response.Payload).id;
            }
        }
        private static string CreateNewCustomerSaveCommand(ExpectedCustomer expectedCustomer)
        {
            var command = new ApiCustomerSaveCommand
            {
                firstName = expectedCustomer.FirstName,
                lastName  = expectedCustomer.LastName,
                email     = expectedCustomer.Email,
                phone     = expectedCustomer.Phone
            };

            return(JsonSerialiser.Serialise(command));
        }
예제 #3
0
        protected void AssertGetSingleSessionBooking(SingleSessionBookingData booking,
                                                     ExpectedStandaloneSession session,
                                                     ExpectedCustomer expectedCustomer)
        {
            Assert.That(booking.id, Is.InstanceOf <Guid>());
            Assert.That(booking.parentId, Is.Null);

            Assert.That(booking.session.id, Is.EqualTo(session.Id));
            Assert.That(booking.session.name, Is.EqualTo(session.Description));

            Assert.That(booking.customer.id, Is.EqualTo(expectedCustomer.Id));
            Assert.That(booking.customer.name, Is.EqualTo(string.Format("{0} {1}", expectedCustomer.FirstName, expectedCustomer.LastName)));

            Assert.That(booking.price, Is.EqualTo(session.Pricing.sessionPrice));
            Assert.That(booking.paymentStatus, Is.EqualTo(Constants.PAYMENT_STATUS_PENDING_INVOICE));
            Assert.That(booking.hasAttended, Is.Null);
        }
예제 #4
0
        private void AssertCreateSingleSessionBookingData(SingleSessionBookingData booking,
                                                          ExpectedStandaloneSession session,
                                                          ExpectedCustomer customer,
                                                          string paymentStatus)
        {
            Assert.That(booking.id, Is.InstanceOf <Guid>());
            Assert.That(booking.parentId, Is.Null);

            Assert.That(booking.session.id, Is.EqualTo(session.Id));
            Assert.That(booking.session.name, Is.EqualTo(session.Description));

            Assert.That(booking.customer.id, Is.EqualTo(customer.Id));
            Assert.That(booking.customer.name, Is.EqualTo(string.Format("{0} {1}", customer.FirstName, customer.LastName)));

            Assert.That(booking.paymentStatus, Is.EqualTo(paymentStatus));
            Assert.That(booking.hasAttended, Is.Null);
        }
예제 #5
0
        protected void ThenCreateSessionOnlineBooking(ApiResponse response,
                                                      ExpectedStandaloneSession session,
                                                      ExpectedCustomer customer,
                                                      SetupData setup,
                                                      int expectedBookingCount = 1)
        {
            var booking = AssertSuccessResponse <SingleSessionBookingData>(response);

            AssertCreateSingleSessionOnlineBooking(booking, session, customer);
            var bookingId = booking.id;

            var sessionResponse = AuthenticatedGet <SessionData>("Sessions", booking.session.id, setup);
            var sessionData     = AssertSuccessResponse <SessionData>(sessionResponse);

            Assert.That(sessionData.booking.bookings.Count, Is.EqualTo(expectedBookingCount));
            var bookingOne = sessionData.booking.bookings[expectedBookingCount - 1];

            AssertCustomerBooking(bookingOne, bookingId, customer);
        }
예제 #6
0
 protected void AssertCreateSingleSessionOnlineBooking(SingleSessionBookingData booking,
                                                       ExpectedStandaloneSession session,
                                                       ExpectedCustomer customer)
 {
     AssertCreateSingleSessionBookingData(booking, session, customer, Constants.PAYMENT_STATUS_PENDING_PAYMENT);
 }
예제 #7
0
        private void AssertCustomerBooking(CustomerBookingData booking, Guid expectedBookingId, ExpectedCustomer expectedCustomer)
        {
            Assert.That(booking.id, Is.EqualTo(expectedBookingId));

            var bookingCustomer = booking.customer;

            Assert.That(bookingCustomer.id, Is.EqualTo(expectedCustomer.Id));
            Assert.That(bookingCustomer.firstName, Is.EqualTo(expectedCustomer.FirstName));
            Assert.That(bookingCustomer.lastName, Is.EqualTo(expectedCustomer.LastName));
            Assert.That(bookingCustomer.email, Is.EqualTo(expectedCustomer.Email));
            Assert.That(bookingCustomer.phone, Is.EqualTo(expectedCustomer.Phone));
        }