def test_is_valid_serial_range(self):
     pitem = ProductionProducedItem(store=self.store)
     pitem.product = self.create_product()
     self.assertTrue(ProductionProducedItem.is_valid_serial_range(
         pitem.product, 1, 2, self.store))
     pitem.serial_number = 1
     self.assertFalse(ProductionProducedItem.is_valid_serial_range(
         pitem.product, 1, 2, self.store))
Exemple #2
0
    def test_get_last_serial_number(self):
        pitem = ProductionProducedItem(store=self.store)
        pitem.product = self.create_product()
        last = ProductionProducedItem.get_last_serial_number(pitem.product, self.store)
        self.assertEquals(last, 0)

        pitem.serial_number = 10
        last = ProductionProducedItem.get_last_serial_number(pitem.product, self.store)
        self.assertEquals(last, 10)
Exemple #3
0
    def test_get_or_create_multiple_with_null(self):
        # Check if get_or_creating is working properly when using references
        # with null values.
        item_a = ProductionProducedItem.get_or_create(
            self.store, serial_number=456, product=None)

        self.assertEquals(item_a.serial_number, 456)
        self.assertEquals(item_a.product, None)

        item_b = ProductionProducedItem.get_or_create(
            self.store, serial_number=456, product=None)
        self.assertEquals(item_a, item_b)
Exemple #4
0
    def test_can_remove(self):
        product = self.create_product()
        test = ProductQualityTest(store=self.store, product=product)

        # Test has never been used
        self.assertTrue(test.can_remove())

        order = self.create_production_order()
        user = self.create_user()
        item = ProductionProducedItem(product=product,
                                      order=order,
                                      produced_by=user,
                                      produced_date=localtoday().date(),
                                      serial_number=1,
                                      store=self.store)
        self.assertTrue(test.can_remove())

        # Test has been used in a production
        ProductionItemQualityResult(produced_item=item,
                                    quality_test=test,
                                    tested_by=user,
                                    result_value=u'True',
                                    test_passed=True,
                                    store=self.store)
        self.assertFalse(test.can_remove())
 def on_serial_number__validate(self, widget, value):
     qty = self._parent.quantity.read()
     if qty is ValueUnset:
         qty = 0
     first = value
     last = value + qty - 1
     if not ProductionProducedItem.is_valid_serial_range(self._product,
                                                         first, last, self.store):
         return ValidationError(_('There already is a serial number in '
                                  'the range %d - %d') % (first, last))
 def on_serial_number__validate(self, widget, value):
     qty = self._parent.quantity.read()
     if qty is ValueUnset:
         qty = 0
     first = value
     last = value + qty - 1
     if not ProductionProducedItem.is_valid_serial_range(self._product,
                                                         first, last, self.store):
         return ValidationError(_('There already is a serial number in '
                                  'the range %d - %d') % (first, last))
Exemple #7
0
    def test_get_or_create_multiple(self):
        # This test is for  get_or_create call with more than one property
        product = self.create_product()

        # Make sure there is no item yet.
        item = self.store.find(ProductionProducedItem, serial_number=123,
                               product=product).one()
        self.assertEquals(item, None)

        # First call to get_or_create should create the object.
        item_a = ProductionProducedItem.get_or_create(
            self.store, serial_number=123, product=product)
        # And set the properties given
        self.assertEquals(item_a.serial_number, 123)
        self.assertEquals(item_a.product, product)

        # The second call to get_or_create should return the same object
        item_b = ProductionProducedItem.get_or_create(
            self.store, serial_number=123, product=product)
        self.assertEquals(item_a, item_b)
    def test_send_to_stock(self):
        pitem = ProductionProducedItem(store=self.store)
        pitem.order = self.create_production_order()
        pitem.product = self.create_storable().product
        pitem.send_to_stock(self.current_user)

        self.assertTrue(
            self.store.find(
                StockTransactionHistory,
                object_id=pitem.id,
                type=StockTransactionHistory.TYPE_PRODUCTION_SENT).one())
        pitem.send_to_stock(self.current_user)
        self.assertTrue(
            self.store.find(
                StockTransactionHistory,
                object_id=pitem.id,
                type=StockTransactionHistory.TYPE_PRODUCTION_SENT).one())
 def test_is_valid_serial_range(self):
     pitem = ProductionProducedItem(store=self.store)
     pitem.product = self.create_product()
     self.assertTrue(
         ProductionProducedItem.is_valid_serial_range(
             pitem.product, 1, 2, self.store))
     pitem.serial_number = 1
     self.assertFalse(
         ProductionProducedItem.is_valid_serial_range(
             pitem.product, 1, 2, self.store))
    def test_get_last_serial_number(self):
        pitem = ProductionProducedItem(store=self.store)
        pitem.product = self.create_product()
        last = ProductionProducedItem.get_last_serial_number(
            pitem.product, self.store)
        self.assertEqual(last, 0)

        pitem.serial_number = 10
        last = ProductionProducedItem.get_last_serial_number(
            pitem.product, self.store)
        self.assertEqual(last, 10)
Exemple #11
0
    def test_send_to_stock(self):
        pitem = ProductionProducedItem(store=self.store)
        pitem.order = self.create_production_order()
        pitem.product = self.create_storable().product
        pitem.send_to_stock()

        self.assertTrue(
            self.store.find(StockTransactionHistory,
                            object_id=pitem.id,
                            type=StockTransactionHistory.TYPE_PRODUCTION_SENT).one())
        pitem.send_to_stock()
        self.assertTrue(
            self.store.find(StockTransactionHistory,
                            object_id=pitem.id,
                            type=StockTransactionHistory.TYPE_PRODUCTION_SENT).one())
 def create_model(self, store):
     serial = ProductionProducedItem.get_last_serial_number(
         self._product, store)
     return Settable(serial_number=serial + 1)
Exemple #13
0
 def test_get_pending_tests(self):
     pitem = ProductionProducedItem(store=self.store)
     pitem.product = self.create_product()
     self.assertEqual(pitem.get_pending_tests(), [])
 def test_get_pending_tests(self):
     pitem = ProductionProducedItem(store=self.store)
     pitem.product = self.create_product()
     self.assertEqual(pitem.get_pending_tests(), [])
Exemple #15
0
 def create_model(self, store):
     serial = ProductionProducedItem.get_last_serial_number(
         self._product, store)
     return Settable(serial_number=serial + 1)