コード例 #1
0
    def test_save(self):
        order_product = OrderProduct(name="Amoxidal")
        order_product.id = self.dao.save(order_product)
        self.assertGreater(order_product.id, 0)

        order_product.name += " Duo"
        self.assertGreater(order_product.save(), 0)
        self.assertEqual("Amoxidal Duo", order_product.name)
コード例 #2
0
 def test_ordered_on_is_not_earlier_than_today(self):
     today = date.today()        
     yesterday = date.today() + timedelta(days=-1)
     order_product = OrderProduct(name="Amoxidal", ordered_on=yesterday)
     self.assertFalse(order_product.isvalid())
     self.assertIn("debe ser igual o posterior a la fecha actual", order_product.errors.on("ordered_on"))
     order_product = OrderProduct(name="Amoxidal", ordered_on=today)
     self.assertTrue(order_product.isvalid())
コード例 #3
0
    def test_save(self):
        order_product = OrderProduct(name="Amoxidal")
        order_product.id = self.dao.save(order_product)
        self.assertGreater(order_product.id, 0)

        order_product.name += " Duo"
        self.assertGreater(order_product.save(), 0)
        self.assertEqual("Amoxidal Duo", order_product.name)
コード例 #4
0
    def test_save(self):
        order_product = OrderProduct(name="Amoxidal")
        self.assertTrue(order_product.save())
        self.assertGreater(order_product.id, 0)

        order_product.name += " Duo"
        order_product.isordered = True
        self.assertTrue(order_product.save())
        self.assertEqual("Amoxidal Duo", order_product.name)
コード例 #5
0
    def test_save(self):
        order_product = OrderProduct(name="Amoxidal")
        self.assertTrue(order_product.save())
        self.assertGreater(order_product.id, 0)

        order_product.name += " Duo"
        order_product.isordered = True
        self.assertTrue(order_product.save())
        self.assertEqual("Amoxidal Duo", order_product.name)
コード例 #6
0
 def test_find_all_not_ordered_before(self):
     amoxidal = OrderProduct(name="Amoxidal")
     amoxidal.save()
     sertal = OrderProduct(name="Sertal", isordered=True)
     sertal.save()
     tomorrow = date.today() + timedelta(days=1)
     order_products = OrderProduct.find_all_not_ordered_before(tomorrow)
     self.assertEqual([amoxidal], order_products)
コード例 #7
0
 def test_find_all_by_ordered_on(self):
     amoxidal = OrderProduct(name="Amoxidal")
     amoxidal.save()
     sertal = OrderProduct(name="Sertal")
     sertal.save()
     order_products = OrderProduct.find_all_by_ordered_on(date.today())
     self.assertEqual(2, len(order_products))
     self.assertEqual(amoxidal, order_products[0])
     self.assertEqual(sertal, order_products[1])
コード例 #8
0
 def test_name_must_be_unique_on_any_given_date(self):
     product1 = OrderProduct(name="Amoxidal")
     product2 = OrderProduct(name="Amoxidal")
     self.assertTrue(product1.isvalid())
     product1.save()
     self.assertFalse(product2.isvalid())
     self.assertIn("ya ha sido pedido en esa fecha",
                   product2.errors.on("name"))
コード例 #9
0
ファイル: app.py プロジェクト: cristianrasch/pedidos
 def run(self):
     reordered_products = OrderProduct.reorder_pending_products()
     if reordered_products:
         self.notify("%d producto(s) agregado(s) al pedido del día" % reordered_products)
         self.on_calendar_day_selected(self.calendar)
     self.window.show()
     gtk.main()
コード例 #10
0
    def setUp(self):
        order_products = []
        for i in xrange(1, OrderProductPrinter.ORDER_PRODUCTS_PER_PAGE + 20):
            order_products.append(
                OrderProduct(quantity=i, name="Product #%d" % i))

        self.printer = OrderProductPrinter(order_products)
コード例 #11
0
 def run(self):
     reordered_products = OrderProduct.reorder_pending_products()
     if reordered_products:
         self.notify("%d producto(s) agregado(s) al pedido del día" %
                     reordered_products)
         self.on_calendar_day_selected(self.calendar)
     self.window.show()
     gtk.main()
コード例 #12
0
 def test_attrs_have_a_default_value(self):
     order_product = OrderProduct()
     self.assertEqual(0, order_product.id)
     self.assertEqual(date.today(), order_product.ordered_on)
     self.assertEqual(order_product.name, "")
     self.assertEqual(order_product.quantity, 1)
     self.assertEqual(order_product.isurgent, False)
     self.assertEqual(order_product.isordered, False)
コード例 #13
0
 def test_mass_update_ordered_on(self):
     today = date.today()
     tomorrow = today + timedelta(days=1)
     amoxidal = OrderProduct(name="Amoxidal", ordered_on=tomorrow)
     amoxidal.save()
     sertal = OrderProduct(name="Sertal", ordered_on=tomorrow)
     sertal.save()
     affected_rows = self.dao.mass_update_ordered_on(
         today, (amoxidal.id, sertal.id))
     self.assertEqual(2, affected_rows)
コード例 #14
0
 def test_find_all_not_ordered_before(self):
     amoxidal = OrderProduct(name="Amoxidal")
     amoxidal.save()
     sertal = OrderProduct(name="Sertal", isordered=True)
     sertal.save()
     tomorrow = date.today() + timedelta(days=1)
     order_products = OrderProduct.find_all_not_ordered_before(tomorrow)
     self.assertEqual([amoxidal], order_products)
コード例 #15
0
    def test_find_all_unique_names_ordered_last_month(self):
        today = date.today()
        a_week_ago = today - timedelta(weeks=1)
        two_weeks_ago = today - timedelta(weeks=2)
        a_month_ago = today - timedelta(weeks=4)

        OrderProduct(name="Amoxidal", ordered_on=a_week_ago).save(False)
        OrderProduct(name="amoxidal", ordered_on=two_weeks_ago).save(False)
        OrderProduct(name="Sertal", ordered_on=two_weeks_ago).save(False)
        OrderProduct(name="sertal", ordered_on=a_week_ago).save(False)

        unique_names = OrderProduct.find_all_unique_names_ordered_last_month()
        self.assertEqual(2, len(unique_names))

        amoxidalre = re.compile(r'amoxidal', re.IGNORECASE)
        sertalre = re.compile(r'sertal', re.IGNORECASE)
        for regex in (amoxidalre, sertalre):
            matched = filter(lambda name: re.match(regex, name), unique_names)
            self.assertEqual(1, len(matched))
コード例 #16
0
 def test_find_all_by_ordered_on(self):
     amoxidal = OrderProduct(name="Amoxidal")
     amoxidal.save()
     sertal = OrderProduct(name="Sertal")
     sertal.save()
     order_products = OrderProduct.find_all_by_ordered_on(date.today())
     self.assertEqual(2, len(order_products))
     self.assertEqual(amoxidal, order_products[0])
     self.assertEqual(sertal, order_products[1])
コード例 #17
0
    def test_find_all_unique_names_ordered_between(self):
        today = date.today()
        a_week_from_today = today + timedelta(weeks=1)
        two_weeks_from_today = today + timedelta(weeks=2)
        a_month_from_today = today + timedelta(weeks=4)

        OrderProduct(name="Amoxidal", ordered_on=a_week_from_today).save()
        OrderProduct(name="amoxidal", ordered_on=two_weeks_from_today).save()
        OrderProduct(name="Sertal", ordered_on=two_weeks_from_today).save()
        OrderProduct(name="sertal", ordered_on=a_week_from_today).save()

        unique_names = self.dao.find_all_unique_names_ordered_between(
            today, a_month_from_today)
        self.assertEqual(2, len(unique_names))

        amoxidalre = re.compile(r'amoxidal', re.IGNORECASE)
        sertalre = re.compile(r'sertal', re.IGNORECASE)
        for regex in (amoxidalre, sertalre):
            matched = filter(lambda name: re.match(regex, name), unique_names)
            self.assertEqual(1, len(matched))
コード例 #18
0
ファイル: app.py プロジェクト: cristianrasch/pedidos
    def on_save_clicked(self, widget):
        model, treeiter = self.product_view.get_selected()
        if treeiter:
            order_product = model.get_order_product(treeiter)
        else:
            order_product = OrderProduct(ordered_on=self.calendardate())

        order_product.name = unicode(self.name.get_text(), "utf-8")
        order_product.quantity = self.quantity.get_value()
        order_product.isurgent = self.urgency.get_active()

        if order_product.save():
            if treeiter:
                model.update_order_product(treeiter, order_product)
            else:
                model.append_order_product(order_product)
            
            self.reset_form()
        else:
            self.showerror(order_product.errors.fullmessages())
コード例 #19
0
ファイル: app.py プロジェクト: cristianrasch/pedidos
 def on_print_clicked(self, widget):
     printop = gtk.PrintOperation()
     page_setup = gtk.PageSetup()
     page_setup.set_paper_size(gtk.PaperSize(gtk.PAPER_NAME_A4))
     printop.set_default_page_setup(page_setup)
     order_products = OrderProduct.find_all_not_yet_ordered_on(self.calendardate())
     self.printer = OrderProductPrinter(order_products)
     n_pages = self.printer.calc_n_pages()
     printop.set_n_pages(n_pages)
     printop.connect("draw_page", self.print_ordered_products)
     printop.run(gtk.PRINT_OPERATION_ACTION_PRINT_DIALOG)
コード例 #20
0
 def on_print_clicked(self, widget):
     printop = gtk.PrintOperation()
     page_setup = gtk.PageSetup()
     page_setup.set_paper_size(gtk.PaperSize(gtk.PAPER_NAME_A4))
     printop.set_default_page_setup(page_setup)
     order_products = OrderProduct.find_all_not_yet_ordered_on(
         self.calendardate())
     self.printer = OrderProductPrinter(order_products)
     n_pages = self.printer.calc_n_pages()
     printop.set_n_pages(n_pages)
     printop.connect("draw_page", self.print_ordered_products)
     printop.run(gtk.PRINT_OPERATION_ACTION_PRINT_DIALOG)
コード例 #21
0
 def test_deletes_a_single_instance(self):
     amoxidal = OrderProduct(name="Amoxidal")
     amoxidal.save()
     self.assertEqual(1, amoxidal.delete())
     order_products = OrderProduct.find_all_by_ordered_on(
         amoxidal.ordered_on)
     self.assertEqual([], order_products)
コード例 #22
0
 def test_name_must_be_unique_on_any_given_date(self):
     product1 = OrderProduct(name="Amoxidal")
     product2 = OrderProduct(name="Amoxidal")
     self.assertTrue(product1.isvalid())
     product1.save()
     self.assertFalse(product2.isvalid())
     self.assertIn("ya ha sido pedido en esa fecha", product2.errors.on("name"))
コード例 #23
0
 def test_mass_update_ordered_on(self):
     today = date.today()        
     tomorrow = today + timedelta(days=1)
     amoxidal = OrderProduct(name="Amoxidal", ordered_on=tomorrow)
     amoxidal.save()
     sertal = OrderProduct(name="Sertal", ordered_on=tomorrow)
     sertal.save()
     affected_rows = self.dao.mass_update_ordered_on(today, (amoxidal.id, sertal.id))
     self.assertEqual(2, affected_rows)
コード例 #24
0
 def test_ordered_on_is_not_earlier_than_today(self):
     today = date.today()
     yesterday = date.today() + timedelta(days=-1)
     order_product = OrderProduct(name="Amoxidal", ordered_on=yesterday)
     self.assertFalse(order_product.isvalid())
     self.assertIn("debe ser igual o posterior a la fecha actual",
                   order_product.errors.on("ordered_on"))
     order_product = OrderProduct(name="Amoxidal", ordered_on=today)
     self.assertTrue(order_product.isvalid())
コード例 #25
0
    def test_find_all_unique_names_ordered_last_month(self):
        today = date.today()
        a_week_ago = today - timedelta(weeks=1)
        two_weeks_ago = today - timedelta(weeks=2)
        a_month_ago = today - timedelta(weeks=4)

        OrderProduct(name="Amoxidal", ordered_on=a_week_ago).save(False)
        OrderProduct(name="amoxidal", ordered_on=two_weeks_ago).save(False)
        OrderProduct(name="Sertal", ordered_on=two_weeks_ago).save(False)
        OrderProduct(name="sertal", ordered_on=a_week_ago).save(False)

        unique_names = OrderProduct.find_all_unique_names_ordered_last_month()
        self.assertEqual(2, len(unique_names))
    
        amoxidalre = re.compile(r'amoxidal', re.IGNORECASE)
        sertalre = re.compile(r'sertal', re.IGNORECASE)
        for regex in (amoxidalre, sertalre):
            matched = filter(lambda name: re.match(regex, name), unique_names)
            self.assertEqual(1, len(matched))
コード例 #26
0
    def on_save_clicked(self, widget):
        model, treeiter = self.product_view.get_selected()
        if treeiter:
            order_product = model.get_order_product(treeiter)
        else:
            order_product = OrderProduct(ordered_on=self.calendardate())

        order_product.name = unicode(self.name.get_text(), "utf-8")
        order_product.quantity = self.quantity.get_value()
        order_product.isurgent = self.urgency.get_active()

        if order_product.save():
            if treeiter:
                model.update_order_product(treeiter, order_product)
            else:
                model.append_order_product(order_product)

            self.reset_form()
        else:
            self.showerror(order_product.errors.fullmessages())
コード例 #27
0
 def test_isnewrecord(self):    
     order_product = OrderProduct(name="Amoxidal")
     self.assertTrue(order_product.isnewrecord())
     order_product.save()        
     self.assertFalse(order_product.isnewrecord())
コード例 #28
0
 def test_isnewrecord(self):
     order_product = OrderProduct(name="Amoxidal")
     self.assertTrue(order_product.isnewrecord())
     order_product.save()
     self.assertFalse(order_product.isnewrecord())
コード例 #29
0
 def __init__(self):
     super(self.__class__, self).__init__(str)
     for name in OrderProduct.find_all_unique_names_ordered_last_month():
         self.append((name, ))
コード例 #30
0
 def test_name_cant_be_blank(self):
     order_product = OrderProduct()
     self.assertFalse(order_product.isvalid())
     self.assertIn("no puede estar en blanco", order_product.errors.on("name"))
コード例 #31
0
ファイル: treeview.py プロジェクト: cristianrasch/pedidos
 def __init__(self):
     super(self.__class__, self).__init__(str)
     for name in OrderProduct.find_all_unique_names_ordered_last_month():
         self.append((name,))
コード例 #32
0
 def test_eq(self):
     prod1, prod2 = OrderProduct(id=1), OrderProduct(id=2)
     self.assertNotEqual(prod1, prod2)
     prod2 = OrderProduct(id=1)
     self.assertEqual(prod1, prod2)
コード例 #33
0
 def test_find_by_ordered_on_and_name(self):
     product = OrderProduct(name="Amoxidal")
     product.save()
     order_product = OrderProduct.find_by_ordered_on_and_name(
         product.ordered_on, product.name)
     self.assertEqual(product, order_product)
コード例 #34
0
 def test_deletes_a_single_instance(self):
     amoxidal = OrderProduct(name="Amoxidal")
     amoxidal.save()
     self.assertEqual(1, amoxidal.delete())
     order_products = OrderProduct.find_all_by_ordered_on(amoxidal.ordered_on)
     self.assertEqual([], order_products)
コード例 #35
0
 def test_find_by_ordered_on_and_name(self):
     product = OrderProduct(name="Amoxidal")
     product.save()
     order_product = OrderProduct.find_by_ordered_on_and_name(product.ordered_on, product.name)
     self.assertEqual(product, order_product)
コード例 #36
0
 def test_reorder_pending_products(self):
     self.assertIsNone(OrderProduct.reorder_pending_products())
     yesterday = date.today() - timedelta(days=1)
     amoxidal = OrderProduct(name="Amoxidal", ordered_on=yesterday)
     self.assertTrue(amoxidal.save(validate=False))
     self.assertEqual(1, OrderProduct.reorder_pending_products())
コード例 #37
0
 def test_name_cant_be_blank(self):
     order_product = OrderProduct()
     self.assertFalse(order_product.isvalid())
     self.assertIn("no puede estar en blanco",
                   order_product.errors.on("name"))
コード例 #38
0
 def test_reorder_pending_products(self):
     self.assertIsNone(OrderProduct.reorder_pending_products())
     yesterday = date.today() - timedelta(days=1)
     amoxidal = OrderProduct(name="Amoxidal", ordered_on=yesterday)
     self.assertTrue(amoxidal.save(validate=False))
     self.assertEqual(1, OrderProduct.reorder_pending_products())
コード例 #39
0
 def test_find_all_not_yet_ordered_on(self):
     amoxidal = OrderProduct(name="Amoxidal")
     amoxidal.save()
     OrderProduct(name="Sertal", isordered=True).save()
     order_products = OrderProduct.find_all_not_yet_ordered_on(date.today())
     self.assertEqual([amoxidal], order_products)
コード例 #40
0
 def test_find_all_not_yet_ordered_on(self):
     amoxidal = OrderProduct(name="Amoxidal")
     amoxidal.save()
     OrderProduct(name="Sertal", isordered=True).save()
     order_products = OrderProduct.find_all_not_yet_ordered_on(date.today())
     self.assertEqual([amoxidal], order_products)
コード例 #41
0
 def selected_date(self, value):
     self._selected_date = value
     self.clear()
     for order_product in OrderProduct.find_all_by_ordered_on(value):
         self.append_order_product(order_product)
コード例 #42
0
ファイル: treeview.py プロジェクト: cristianrasch/pedidos
 def selected_date(self, value):
     self._selected_date = value
     self.clear()
     for order_product in OrderProduct.find_all_by_ordered_on(value):
         self.append_order_product(order_product)