Beispiel #1
0
 def setup_slaves(self):
     register_payment_slaves()
     self.slave = MultipleMethodSlave(self, self, self.store,
                                      self.model, None, currency(0),
                                      finish_on_total=False)
     self.slave.enable_remove()
     self.attach_slave('place_holder', self.slave)
Beispiel #2
0
    def test_create(self):
        sale = self._create_sale()
        subtotal = sale.get_sale_subtotal()

        wizard = ConfirmSaleWizard(self.store, sale, subtotal)
        slave = MultipleMethodSlave(wizard, None, self.store, sale)
        self.check_slave(slave, 'slave-multiple-method')
Beispiel #3
0
 def _setup_slaves(self):
     self.slave = MultipleMethodSlave(self.wizard,
                                      self,
                                      self.store,
                                      self.store.fetch(self._consignment),
                                      None,
                                      self._outstanding_value,
                                      finish_on_total=False)
     self.attach_slave('place_holder', self.slave)
Beispiel #4
0
    def test_on_method_toggled(self):
        sale = self._create_sale()
        subtotal = sale.get_sale_subtotal()

        wizard = ConfirmSaleWizard(self.store, sale, subtotal)
        slave = MultipleMethodSlave(wizard, None, self.store, sale)

        self.assertEquals(slave.value.read(), 10)
        self.assertEquals(unicode(slave.value.emit("validate", 0)),
                          u"You must provide a payment value.")
        self.assertNotSensitive(slave, ['add_button'])

        # Test with an invalid value.
        slave.value.set_text("Test")
        self.assertNotSensitive(slave, ['add_button'])
        for radio in slave.methods_box.get_children():
            if radio.get_label() == 'Check':
                radio.set_active(True)
                break
        # Check if value was updated.
        self.assertEquals(slave.value.read(), 10)
        self.assertSensitive(slave, ['add_button'])

        # Test with store credit.
        for radio in slave.methods_box.get_children():
            if radio.get_label() == 'Store Credit':
                radio.set_active(True)
                break
        self.assertEquals(slave.value.read(), 10)
        self.assertSensitive(slave, ['add_button'])
        self.assertEquals(
            unicode(slave.value.emit("validate", 30)),
            u"Client does not have enough credit. Client store credit: 20.0.")
        self.assertNotSensitive(slave, ['add_button'])
        slave.value.update(10)
        self.assertSensitive(slave, ['add_button'])

        # Change the payment method.
        for radio in slave.methods_box.get_children():
            if radio.get_label() == 'Bill':
                radio.set_active(True)
                break
        self.assertEquals(slave.value.read(), 10)
        self.assertSensitive(slave, ['add_button'])

        # Change to money.
        slave.value.update(5)
        self.assertSensitive(slave, ['add_button'])
        for radio in slave.methods_box.get_children():
            if radio.get_label() == 'Money':
                radio.set_active(True)
                break
        # Check if the value typed was kept.
        self.assertEquals(slave.value.read(), 5)
        self.assertSensitive(slave, ['add_button'])
Beispiel #5
0
 def setup_slaves(self):
     register_payment_slaves()
     outstanding_value = (self.model.total_amount_abs +
                          self.model.paid_total)
     self.slave = MultipleMethodSlave(self.wizard, self, self.store,
                                      self.model, None,
                                      outstanding_value=outstanding_value,
                                      finish_on_total=False,
                                      allow_remove_paid=False)
     self.slave.enable_remove()
     self.attach_slave('place_holder', self.slave)
Beispiel #6
0
 def setup_slaves(self):
     register_payment_slaves()
     self.slave = MultipleMethodSlave(wizard=self.wizard,
                                      parent=self,
                                      store=self.store,
                                      order=self.model,
                                      payment_method=None,
                                      finish_on_total=False,
                                      allow_remove_paid=False,
                                      require_total_value=False)
     self.slave.enable_remove()
     self.attach_slave('place_holder', self.slave)