Esempio n. 1
0
    def testCreate(self, delete, commit):
        # Allow creating purchases in the past.
        sysparam(self.store).update_parameter(u"ALLOW_OUTDATED_OPERATIONS",
                                              u"1")

        self.wizard = QuotePurchaseWizard(self.store)
        self.wizard.model.branch = self.create_branch()
        self.wizard.model.identifier = 12345
        self.wizard.model.open_date = localdate(2010, 1, 3).date()
        self._check_start_step('wizard-purchasequote-start-step')
        self._check_item_step('wizard-purchasequote-item-step')

        supplier_step = self.wizard.get_current_step()
        supplier_step.quoting_list.select(supplier_step.quoting_list[0])
        patch = 'stoqlib.gui.wizards.purchasequotewizard.run_dialog'
        with mock.patch(patch) as run_dialog:
            self.click(supplier_step.missing_products_button)
            run_dialog.assert_called_once_with(SimpleListDialog,
                                               self.wizard,
                                               supplier_step.product_columns,
                                               set([]),
                                               title='Missing Products')

        sellable = supplier_step.model.get_items()[0].sellable
        with mock.patch(patch) as run_dialog:
            self.click(supplier_step.view_products_button)
            run_dialog.assert_called_once_with(
                SimpleListDialog,
                self.wizard,
                supplier_step.product_columns, [sellable],
                title='Products supplied by Supplier')

        patch = 'stoqlib.gui.wizards.purchasequotewizard.print_report'
        with mock.patch(patch) as print_report:
            self.click(supplier_step.print_button)
            print_report.assert_called_once_with(PurchaseQuoteReport,
                                                 self.wizard.model)

        self._check_supplier_step('wizard-purchasequote-supplier-step')

        # FIXME: How many times?
        self.assertEquals(commit.call_count, 1)

        purchase = self.wizard.model
        models = [purchase]
        models.extend(purchase.get_items())

        self.check_wizard(self.wizard,
                          'wizard-purchasequote-finish-step',
                          models=models)
Esempio n. 2
0
    def testCreate(self, delete, commit):
        # Allow creating purchases in the past.
        sysparam(self.store).update_parameter(u"ALLOW_OUTDATED_OPERATIONS", u"1")

        self.wizard = QuotePurchaseWizard(self.store)
        self.wizard.model.branch = self.create_branch()
        self.wizard.model.identifier = 12345
        self.wizard.model.open_date = datetime.date(2010, 1, 3)
        self._check_start_step("wizard-purchasequote-start-step")
        self._check_item_step("wizard-purchasequote-item-step")

        supplier_step = self.wizard.get_current_step()
        supplier_step.quoting_list.select(supplier_step.quoting_list[0])
        patch = "stoqlib.gui.wizards.purchasequotewizard.run_dialog"
        with mock.patch(patch) as run_dialog:
            self.click(supplier_step.missing_products_button)
            run_dialog.assert_called_once_with(
                SimpleListDialog, self.wizard, supplier_step.product_columns, set([]), title="Missing Products"
            )

        sellable = supplier_step.model.get_items()[0].sellable
        with mock.patch(patch) as run_dialog:
            self.click(supplier_step.view_products_button)
            run_dialog.assert_called_once_with(
                SimpleListDialog,
                self.wizard,
                supplier_step.product_columns,
                [sellable],
                title="Products supplied by Supplier",
            )

        patch = "stoqlib.gui.wizards.purchasequotewizard.print_report"
        with mock.patch(patch) as print_report:
            self.click(supplier_step.print_button)
            print_report.assert_called_once_with(PurchaseQuoteReport, self.wizard.model)

        self._check_supplier_step("wizard-purchasequote-supplier-step")

        # FIXME: How many times?
        self.assertEquals(commit.call_count, 1)

        purchase = self.wizard.model
        models = [purchase]
        models.extend(purchase.get_items())

        self.check_wizard(self.wizard, "wizard-purchasequote-finish-step", models=models)
Esempio n. 3
0
class TestQuotePurchaseeWizard(GUITest):
    def _check_start_step(self, uitest=""):
        start_step = self.wizard.get_current_step()
        start_step.quote_deadline.update(datetime.datetime(2020, 1, 1))
        start_step.quote_group.set_text("12345")
        if uitest:
            self.check_wizard(self.wizard, uitest)
        self.click(self.wizard.next_button)

    def _check_item_step(self, uitest=""):
        item_step = self.wizard.get_current_step()
        product = self.create_product()
        Storable(product=product, store=self.store)
        item_step.sellable_selected(product.sellable)
        self.click(item_step.add_sellable_button)
        if uitest:
            self.check_wizard(self.wizard, uitest)
        self.click(self.wizard.next_button)

    def _check_supplier_step(self, uitest=""):
        if uitest:
            self.check_wizard(self.wizard, uitest)
        self.click(self.wizard.next_button)

    @mock.patch("stoqlib.database.runtime.StoqlibStore.commit")
    @mock.patch("stoqlib.domain.purchase.PurchaseOrder.delete")
    def testCreate(self, delete, commit):
        # Allow creating purchases in the past.
        sysparam(self.store).update_parameter(u"ALLOW_OUTDATED_OPERATIONS", u"1")

        self.wizard = QuotePurchaseWizard(self.store)
        self.wizard.model.branch = self.create_branch()
        self.wizard.model.identifier = 12345
        self.wizard.model.open_date = datetime.date(2010, 1, 3)
        self._check_start_step("wizard-purchasequote-start-step")
        self._check_item_step("wizard-purchasequote-item-step")

        supplier_step = self.wizard.get_current_step()
        supplier_step.quoting_list.select(supplier_step.quoting_list[0])
        patch = "stoqlib.gui.wizards.purchasequotewizard.run_dialog"
        with mock.patch(patch) as run_dialog:
            self.click(supplier_step.missing_products_button)
            run_dialog.assert_called_once_with(
                SimpleListDialog, self.wizard, supplier_step.product_columns, set([]), title="Missing Products"
            )

        sellable = supplier_step.model.get_items()[0].sellable
        with mock.patch(patch) as run_dialog:
            self.click(supplier_step.view_products_button)
            run_dialog.assert_called_once_with(
                SimpleListDialog,
                self.wizard,
                supplier_step.product_columns,
                [sellable],
                title="Products supplied by Supplier",
            )

        patch = "stoqlib.gui.wizards.purchasequotewizard.print_report"
        with mock.patch(patch) as print_report:
            self.click(supplier_step.print_button)
            print_report.assert_called_once_with(PurchaseQuoteReport, self.wizard.model)

        self._check_supplier_step("wizard-purchasequote-supplier-step")

        # FIXME: How many times?
        self.assertEquals(commit.call_count, 1)

        purchase = self.wizard.model
        models = [purchase]
        models.extend(purchase.get_items())

        self.check_wizard(self.wizard, "wizard-purchasequote-finish-step", models=models)
Esempio n. 4
0
class TestQuotePurchaseeWizard(GUITest):
    def _check_start_step(self, uitest=''):
        start_step = self.wizard.get_current_step()
        start_step.quote_deadline.update(localdatetime(2020, 1, 1))
        start_step.quote_group.set_text("12345")
        if uitest:
            self.check_wizard(self.wizard, uitest)
        self.click(self.wizard.next_button)

    def _check_item_step(self, uitest=''):
        item_step = self.wizard.get_current_step()
        product = self.create_product()
        Storable(product=product, store=self.store)
        item_step.sellable_selected(product.sellable)
        self.click(item_step.add_sellable_button)
        if uitest:
            self.check_wizard(self.wizard, uitest)
        self.click(self.wizard.next_button)

    def _check_supplier_step(self, uitest=''):
        if uitest:
            self.check_wizard(self.wizard, uitest)
        self.click(self.wizard.next_button)

    @mock.patch('stoqlib.database.runtime.StoqlibStore.commit')
    @mock.patch('stoqlib.domain.purchase.PurchaseOrder.delete')
    def test_create(self, delete, commit):
        # Allow creating purchases in the past.
        sysparam.set_bool(self.store, 'ALLOW_OUTDATED_OPERATIONS', True)

        self.wizard = QuotePurchaseWizard(self.store)
        self.wizard.model.branch = self.create_branch()
        self.wizard.model.identifier = 12345
        self.wizard.model.open_date = localdate(2010, 1, 3).date()
        self._check_start_step('wizard-purchasequote-start-step')
        self._check_item_step('wizard-purchasequote-item-step')

        supplier_step = self.wizard.get_current_step()
        supplier_step.quoting_list.select(supplier_step.quoting_list[0])
        patch = 'stoqlib.gui.wizards.purchasequotewizard.run_dialog'
        with mock.patch(patch) as run_dialog:
            self.click(supplier_step.missing_products_button)
            run_dialog.assert_called_once_with(SimpleListDialog,
                                               self.wizard,
                                               supplier_step.product_columns,
                                               set([]),
                                               title='Missing Products')

        sellable = supplier_step.model.get_items()[0].sellable
        with mock.patch(patch) as run_dialog:
            self.click(supplier_step.view_products_button)
            run_dialog.assert_called_once_with(
                SimpleListDialog,
                self.wizard,
                supplier_step.product_columns, [sellable],
                title='Products supplied by Supplier')

        patch = 'stoqlib.gui.wizards.purchasequotewizard.print_report'
        with mock.patch(patch) as print_report:
            self.click(supplier_step.print_button)
            print_report.assert_called_once_with(PurchaseQuoteReport,
                                                 self.wizard.model)

        self._check_supplier_step('wizard-purchasequote-supplier-step')

        # FIXME: How many times?
        self.assertEquals(commit.call_count, 1)

        purchase = self.wizard.model
        models = [purchase]
        models.extend(purchase.get_items())

        self.check_wizard(self.wizard,
                          'wizard-purchasequote-finish-step',
                          models=models)