本文整理汇总了Python中stoqlib.gui.wizards.salequotewizard.SaleQuoteWizard类的典型用法代码示例。如果您正苦于以下问题:Python SaleQuoteWizard类的具体用法?Python SaleQuoteWizard怎么用?Python SaleQuoteWizard使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SaleQuoteWizard类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testFinishWithPayments
def testFinishWithPayments(self, yesno):
yesno.return_value = False
sellable = self.create_sellable(price=499)
sellable.barcode = u'666999'
wizard = SaleQuoteWizard(self.store)
# SaleQuoteItemStep
self.click(wizard.next_button)
step = wizard.get_current_step()
step.barcode.set_text(u'666999')
self.activate(step.barcode)
self.click(step.add_sellable_button)
# SaleQuotePaymentStep
self.click(wizard.next_button)
step = wizard.get_current_step()
self.click(step.slave.add_button)
# Finish
self.click(wizard.next_button)
payments = wizard.model.payments
self.assertEqual(payments.count(), 1)
self.assertEqual(payments[0].value, 499)
self.assertTrue(payments[0].is_pending())
yesno.assert_called_once_with(
"The created payments can be found in the Accounts Receivable "
"application and you can set them as paid there at any time.\n\n"
"Would you like to print the quote details now?",
gtk.RESPONSE_YES, "Print quote details", "Don't print")
示例2: test_confirm
def test_confirm(self, run_dialog, yesno):
client = self.create_client()
self.create_address(person=client.person)
yesno.return_value = False
sellable = self.create_sellable()
sellable.barcode = u'12345678'
wizard = SaleQuoteWizard(self.store)
step = wizard.get_current_step()
step.client_gadget.set_value(client)
self.click(step.notes_button)
self.assertEquals(run_dialog.call_count, 1)
args, kwargs = run_dialog.call_args
editor, parent, store, model, notes = args
self.assertEquals(editor, NoteEditor)
self.assertEquals(parent, wizard)
self.assertTrue(store is not None)
self.assertEquals(set(wizard.model.comments), set([model]))
self.assertEquals(notes, 'comment')
self.assertEquals(kwargs['title'], "Additional Information")
self.check_wizard(wizard, 'wizard-sale-quote-start-sale-quote-step')
self.click(wizard.next_button)
step = wizard.get_current_step()
self.assertNotSensitive(wizard, ['next_button'])
step.barcode.set_text(sellable.barcode)
step.sellable_selected(sellable)
step.quantity.update(2)
# Make sure that we cannot add an item with a value greater than the allowed.
with self.sysparam(ALLOW_HIGHER_SALE_PRICE=False):
step.cost.update(11)
self.assertNotSensitive(step, ['add_sellable_button'])
step.cost.update(10)
self.assertSensitive(step, ['add_sellable_button'])
self.click(step.add_sellable_button)
self.assertSensitive(wizard, ['next_button'])
sale = wizard.model
self.check_wizard(wizard, 'wizard-sale-quote-sale-quote-item-step',
[sale, client] + list(sale.get_items()) + [sellable])
module = 'stoqlib.gui.events.SaleQuoteWizardFinishEvent.emit'
with mock.patch(module) as emit:
with mock.patch.object(self.store, 'commit'):
self.click(wizard.next_button)
self.assertEquals(emit.call_count, 1)
args, kwargs = emit.call_args
self.assertTrue(isinstance(args[0], Sale))
self.assertEqual(wizard.model.payments.count(), 0)
yesno.assert_called_once_with(_('Would you like to print the quote '
'details now?'), gtk.RESPONSE_YES,
_("Print quote details"), _("Don't print"))
示例3: test_expire_date_validate
def test_expire_date_validate(self, localtoday_):
localtoday_.return_value = datetime.datetime(2020, 1, 5)
wizard = SaleQuoteWizard(self.store)
step = wizard.get_current_step()
self.assertEquals(
str(step.expire_date.emit('validate', datetime.datetime(2013, 1, 1))),
"The expire date must be after the sale open date")
示例4: finish
def finish(self):
# Now we must remove the products added to the workorders from the
# stock and we can associate the category selected to the workorders
# (we only do this now so we don't have to pay attention if the user
# changes the category after we have created workorders).
for wo in self.workorders:
wo.category = self.wo_category
wo.sync_stock()
SaleQuoteWizard.finish(self)
示例5: test_add_package_product
def test_add_package_product(self):
product = self.create_product(price=10, description=u'Package',
is_package=True)
product.sellable.barcode = u'666'
component = self.create_product(stock=2, description=u'Component1')
self.create_product_component(product=product, component=component,
component_quantity=2, price=5)
wizard = SaleQuoteWizard(self.store)
self.click(wizard.next_button)
# SaleQuoteItemStep
item_step = wizard.get_current_step()
item_step.barcode.set_text(u'666')
self.activate(item_step.barcode)
self.click(item_step.add_sellable_button)
summary_label = item_step.summary.get_value_widget()
# XXX We are not summarizing the children price for now
self.assertEquals(summary_label.get_text(), '$10.00')
# Adding the package, its children should be included on the list as well
self.assertEquals(len(list(item_step.slave.klist)), 2)
klist = item_step.slave.klist
klist.select(klist[0])
self.assertSensitive(item_step.slave, ['delete_button'])
selected = klist.get_selected_rows()
child = klist.get_descendants(selected[0])
# Checking the quantity of the child is correctly added
self.assertEquals(child[0].quantity, 2)
klist.select(child)
# We are not allowed to remove children
self.assertNotSensitive(item_step.slave, ['delete_button'])
klist.select(klist[0])
with mock.patch('stoqlib.gui.base.lists.yesno') as yesno:
yesno.return_value = True
self.click(item_step.slave.delete_button)
yesno.assert_called_once_with(
'Delete this item?', gtk.RESPONSE_NO, 'Delete item', 'Keep it')
# As we remove the package, remove its children as well
self.assertEquals(len(klist), 0)
示例6: test_client_with_credit
def test_client_with_credit(self):
method = PaymentMethod.get_by_name(self.store, u"credit")
client_without_credit = self.create_client()
client_with_credit = self.create_client()
# Create a client and add some credit for it
group = self.create_payment_group(payer=client_with_credit.person)
payment = self.create_payment(payment_type=Payment.TYPE_OUT, value=10, method=method, group=group)
payment.set_pending()
payment.pay()
wizard = SaleQuoteWizard(self.store)
step = wizard.get_current_step()
step.client.update(client_without_credit.id)
self.check_wizard(wizard, "wizard-salequote-client-without-credit")
step.client.update(client_with_credit.id)
self.check_wizard(wizard, "wizard-salequote-client-with-credit")
示例7: __init__
def __init__(self, *args, **kwargs):
self.workorders = set()
SaleQuoteWizard.__init__(self, *args, **kwargs)
示例8: __init__
def __init__(self, store, model=None):
# Mimic BaseEditorSlave api
self.edit_mode = model is not None
self.wo_category = None
self.workorders = []
SaleQuoteWizard.__init__(self, store, model=model)
示例9: test_confirm
def test_confirm(self, run_person_role_dialog, run_dialog, yesno):
client = self.create_client()
self.create_address(person=client.person)
run_person_role_dialog.return_value = client
yesno.return_value = False
sellable = self.create_sellable()
sellable.barcode = u'12345678'
wizard = SaleQuoteWizard(self.store)
step = wizard.get_current_step()
self.click(step.create_client)
self.assertEquals(run_person_role_dialog.call_count, 1)
args, kwargs = run_person_role_dialog.call_args
editor, parent, store, model = args
self.assertEquals(editor, ClientEditor)
self.assertEquals(parent, wizard)
self.assertTrue(store is not None)
self.assertTrue(model is None)
self.click(step.client_details)
self.assertEquals(run_dialog.call_count, 1)
args, kwargs = run_dialog.call_args
dialog, parent, store, model = args
self.assertEquals(dialog, ClientDetailsDialog)
self.assertEquals(parent, wizard)
self.assertTrue(store is not None)
self.assertEquals(model, client)
self.click(step.notes_button)
self.assertEquals(run_dialog.call_count, 2)
args, kwargs = run_dialog.call_args
editor, parent, store, model, notes = args
self.assertEquals(editor, NoteEditor)
self.assertEquals(parent, wizard)
self.assertTrue(store is not None)
self.assertEquals(model, wizard.model)
self.assertEquals(notes, 'notes')
self.assertEquals(kwargs['title'], _("Additional Information"))
self.check_wizard(wizard, 'wizard-sale-quote-start-sale-quote-step')
self.click(wizard.next_button)
step = wizard.get_current_step()
self.assertNotSensitive(wizard, ['next_button'])
step.barcode.set_text(sellable.barcode)
step.sellable_selected(sellable)
step.quantity.update(2)
self.click(step.add_sellable_button)
self.assertSensitive(wizard, ['next_button'])
self.click(wizard.next_button)
sale = wizard.retval
self.check_wizard(wizard, 'wizard-sale-quote-sale-quote-item-step',
[sale, client] + list(sale.get_items()) + [sellable])
yesno.assert_called_once_with(_('Would you like to print the quote '
'details now?'), gtk.RESPONSE_YES,
_("Print quote details"), _("Don't print"))