예제 #1
0
 def makeVouchers(self, user, number, voucher_proxy=None):
     if voucher_proxy is None:
         voucher_proxy = TestSalesforceVoucherProxy()
     self.registerUtility(voucher_proxy, ISalesforceVoucherProxy)
     vouchers = []
     for n in xrange(number):
         vouchers.append(voucher_proxy.grantVoucher(user, user, user, 12))
     return vouchers
예제 #2
0
    def test_redeem_twice_with_commercial_admin(self):
        # The fields are setup if the commercial admin has vouchers.
        commercial_admin = login_celebrity('commercial_admin')
        voucher_proxy = TestSalesforceVoucherProxy()
        voucher_id_1, voucher_id_2 = self.makeVouchers(commercial_admin, 2,
                                                       voucher_proxy)
        project_1 = self.factory.makeProduct()
        project_2 = self.factory.makeProduct()
        form = self.makeForm(project_1, voucher_id_1)
        view = create_initialized_view(commercial_admin,
                                       '+vouchers',
                                       form=form)
        self.assertRedeem(view, project_1, remaining=1)
        # A job will notify Salesforce of the voucher redemption but here we
        # will do it manually.
        voucher_proxy.redeemVoucher(voucher_id_1, commercial_admin, project_1)

        form = self.makeForm(project_2, voucher_id_2)
        view = create_initialized_view(commercial_admin,
                                       '+vouchers',
                                       form=form)
        self.assertRedeem(view, project_2)