示例#1
0
    def test_order_for_self_individual(self):
        order = actions.create_pending_order(
            self.alice, 'individual', days_for_self=['thu', 'fri', 'sat'])

        self.assertEqual(self.alice.orders.count(), 1)
        self.assertIsNone(self.alice.get_ticket())

        self.assertEqual(order.purchaser, self.alice)
        self.assertEqual(order.status, 'pending')
        self.assertEqual(order.rate, 'individual')
示例#2
0
def create_pending_order_for_others(user=None, rate=None):
    user = user or create_user()
    rate = rate or 'individual'
    return actions.create_pending_order(purchaser=user,
                                        rate=rate,
                                        email_addrs_and_days_for_others=[
                                            ('*****@*****.**', ['fri',
                                                                 'sat']),
                                            ('*****@*****.**',
                                             ['sat', 'sun']),
                                        ])
示例#3
0
def create_pending_order_for_self(user=None, rate=None, num_days=None):
    user = user or create_user()
    rate = rate or 'individual'
    num_days = num_days or 3
    billing_details = {
        'name': 'Sirius Cybernetics Corp.',
        'addr': 'Eadrax, Sirius Tau',
    }

    return actions.create_pending_order(
        purchaser=user,
        billing_details=billing_details,
        rate=rate,
        days_for_self=['sat', 'sun', 'mon', 'tue', 'wed'][:num_days],
    )
示例#4
0
    def test_order_for_self_corporate(self):
        order = actions.create_pending_order(
            purchaser=self.alice,
            billing_details={'name': 'Sirius Cybernetics Corp.', 'addr': 'Eadrax, Sirius Tau'},
            rate='corporate',
            days_for_self=['sat', 'sun', 'mon'],
        )

        self.assertEqual(self.alice.orders.count(), 1)
        self.assertIsNone(self.alice.get_ticket())

        self.assertEqual(order.purchaser, self.alice)
        self.assertEqual(order.status, 'pending')
        self.assertEqual(order.invoice_number, None)
        self.assertEqual(order.billing_name, 'Sirius Cybernetics Corp.')
        self.assertEqual(order.billing_addr, 'Eadrax, Sirius Tau')
示例#5
0
    def test_order_for_self_and_others(self):
        order = actions.create_pending_order(
            self.alice,
            'individual',
            days_for_self=['thu', 'fri', 'sat'],
            email_addrs_and_days_for_others=[
                ('*****@*****.**', ['fri', 'sat']),
                ('*****@*****.**', ['sat', 'sun']),
            ])

        self.assertEqual(self.alice.orders.count(), 1)
        self.assertIsNone(self.alice.get_ticket())

        self.assertEqual(order.purchaser, self.alice)
        self.assertEqual(order.status, 'pending')
        self.assertEqual(order.rate, 'individual')
示例#6
0
def create_pending_order_for_educator_others(user=None, rate=None):
    user = user or create_user()
    rate = rate or 'educator-self'
    billing_details = {
        'name': 'University of Maximegalon',
        'addr': 'Dept. of Neomathematics',
    }

    return actions.create_pending_order(purchaser=user,
                                        billing_details=billing_details,
                                        rate=rate,
                                        email_addrs_and_days_for_others=[
                                            ('*****@*****.**', 'Bob',
                                             ['sat', 'sun']),
                                            ('*****@*****.**', 'Carol',
                                             ['sat', 'sun']),
                                        ])
示例#7
0
def create_pending_order_for_others(user=None, rate=None):
    user = user or create_user()
    rate = rate or 'individual'
    billing_details = {
        'name': 'Sirius Cybernetics Corp.',
        'addr': 'Eadrax, Sirius Tau',
    }

    return actions.create_pending_order(purchaser=user,
                                        billing_details=billing_details,
                                        rate=rate,
                                        email_addrs_and_days_for_others=[
                                            ('*****@*****.**', 'Bob',
                                             ['sun', 'mon']),
                                            ('*****@*****.**', 'Carol',
                                             ['mon', 'tue']),
                                        ])
示例#8
0
def create_pending_order_for_educator_self(user=None,
                                           rate=None,
                                           num_days=None):
    user = user or create_user()
    rate = rate or 'educator-self'
    num_days = num_days or 2
    billing_details = {
        'name': 'University of Maximegalon',
        'addr': 'Dept. of Neomathematics',
    }

    return actions.create_pending_order(
        purchaser=user,
        billing_details=billing_details,
        rate=rate,
        days_for_self=['sat', 'sun'][:num_days],
    )
示例#9
0
    def test_order_for_others(self):
        order = actions.create_pending_order(
            purchaser=self.alice,
            billing_details={'name': 'Alice Apple', 'addr': 'Eadrax, Sirius Tau'},
            rate='individual',
            email_addrs_and_days_for_others=[
                ('*****@*****.**', 'Bob', ['sun', 'mon']),
                ('*****@*****.**', 'Carol', ['mon', 'tue']),
            ]
        )

        self.assertEqual(self.alice.orders.count(), 1)
        self.assertIsNone(self.alice.get_ticket())

        self.assertEqual(order.purchaser, self.alice)
        self.assertEqual(order.status, 'pending')
        self.assertEqual(order.invoice_number, None)
        self.assertEqual(order.billing_name, 'Alice Apple')
        self.assertEqual(order.billing_addr, 'Eadrax, Sirius Tau')
示例#10
0
def create_pending_order_for_self(user=None, rate=None, num_days=None):
    user = user or create_user()
    rate = rate or 'individual'
    num_days = num_days or 3

    if rate == 'corporate':
        company_details = {
            'name': 'Sirius Cybernetics Corp.',
            'addr': 'Eadrax, Sirius Tau',
        }
    else:
        company_details = None

    return actions.create_pending_order(
        purchaser=user,
        rate=rate,
        days_for_self=['thu', 'fri', 'sat', 'sun', 'mon'][:num_days],
        company_details=company_details,
    )
示例#11
0
    def test_order_for_self_corporate(self):
        order = actions.create_pending_order(
            self.alice,
            'corporate',
            days_for_self=['thu', 'fri', 'sat'],
            company_details={
                'name': 'Sirius Cybernetics Corp.',
                'addr': 'Eadrax, Sirius Tau',
            },
        )

        self.assertEqual(self.alice.orders.count(), 1)
        self.assertIsNone(self.alice.get_ticket())

        self.assertEqual(order.purchaser, self.alice)
        self.assertEqual(order.status, 'pending')
        self.assertEqual(order.rate, 'corporate')
        self.assertEqual(order.company_name, 'Sirius Cybernetics Corp.')
        self.assertEqual(order.company_addr, 'Eadrax, Sirius Tau')