Exemple #1
0
 def __get_order_from_row(self, row):
     assert row is not None
     tbl_a            = self._table_map['order']
     order            = Order(row[tbl_a.c.service])
     order.id         = row[tbl_a.c.id]
     order.status     = row[tbl_a.c.status]
     order.created    = row[tbl_a.c.created]
     order.closed     = row[tbl_a.c.closed]
     order.created_by = row[tbl_a.c.created_by]
     order.set_description(row[tbl_a.c.description])
     try:
         order.progress = float(row.avg_progress)
     except TypeError: # Order has no tasks
         if order.closed:
             order.progress = 1.0
         else:
             order.progress = .0
     return order
Exemple #2
0
 def __get_order_from_row(self, row):
     assert row is not None
     tbl_a = self._table_map['order']
     order = Order(row[tbl_a.c.service])
     order.id = row[tbl_a.c.id]
     order.status = row[tbl_a.c.status]
     order.created = row[tbl_a.c.created]
     order.closed = row[tbl_a.c.closed]
     order.created_by = row[tbl_a.c.created_by]
     order.set_description(row[tbl_a.c.description])
     try:
         order.progress = float(row.avg_progress)
     except TypeError:  # Order has no tasks
         if order.closed:
             order.progress = 1.0
         else:
             order.progress = .0
     return order
Exemple #3
0
    def testAddOrder(self):
        self.testInstall()

        order1 = Order('fooservice')
        self.assertEqual(order1.get_created_by(), getuser())
        self.assertEqual(order1.get_description(), '')
        self.assertEqual(order1.get_progress(), .0)
        order1.created_by = 'this test'
        order1.set_description('my description')
        self.assertEqual(order1.get_created_by(), 'this test')
        self.assertEqual(order1.get_description(), 'my description')

        # Save the order.
        self.assert_(order1.get_id() is None)
        self.db.add_order(order1)
        order_id = order1.get_id()
        self.assert_(order_id is not None)

        def assert_progress(value):
            progress = self.db.get_order_progress_from_id(order_id)
            theorder = self.db.get_order(id=order_id)
            self.assertEqual(progress, value)
            self.assertEqual(theorder.get_progress(), value)

        # Check that the order is stored.
        order = self.db.get_order(id=order_id)
        self.assertEqual(order.get_id(), order_id)
        self.assertEqual(order.get_created_by(), 'this test')
        self.assertEqual(order.get_closed_timestamp(), None)
        self.assertEqual(order.get_description(), 'my description')
        assert_progress(.0)

        # Check that an order that has no tasks show progress 100% when
        # it is closed.
        order.close()
        self.db.save_order(order)
        assert_progress(1.0)

        # Add some sub-tasks.
        task1 = Task(order.id, 'my test task')
        self.db.save_task(task1)
        assert_progress(.0)

        task2 = Task(order.id, 'another test task')
        self.db.save_task(task2)
        assert_progress(.0)

        # Change the progress, re-check.
        task1.set_progress(.5)
        self.db.save_task(task1)
        assert_progress(.25)

        task2.set_progress(.5)
        self.db.save_task(task2)
        assert_progress(.5)

        task1.set_progress(1.0)
        self.db.save_task(task1)
        assert_progress(.75)

        task2.set_progress(1.0)
        self.db.save_task(task2)
        assert_progress(1.0)
Exemple #4
0
    def testAddOrder(self):
        self.testInstall()

        order1 = Order('fooservice')
        self.assertEqual(order1.get_created_by(), getuser())
        self.assertEqual(order1.get_description(), '')
        self.assertEqual(order1.get_progress(), .0)
        order1.created_by = 'this test'
        order1.set_description('my description')
        self.assertEqual(order1.get_created_by(), 'this test')
        self.assertEqual(order1.get_description(), 'my description')

        # Save the order.
        self.assertTrue(order1.get_id() is None)
        self.db.add_order(order1)
        order_id = order1.get_id()
        self.assertTrue(order_id is not None)

        def assert_progress(value):
            progress = self.db.get_order_progress_from_id(order_id)
            theorder = self.db.get_order(id = order_id)
            self.assertEqual(progress, value)
            self.assertEqual(theorder.get_progress(), value)

        # Check that the order is stored.
        order = self.db.get_order(id = order_id)
        self.assertEqual(order.get_id(), order_id)
        self.assertEqual(order.get_created_by(), 'this test')
        self.assertEqual(order.get_closed_timestamp(), None)
        self.assertEqual(order.get_description(), 'my description')
        assert_progress(.0)

        # Check that an order that has no tasks show progress 100% when
        # it is closed.
        order.close()
        self.db.save_order(order)
        assert_progress(1.0)

        # Add some sub-tasks.
        task1 = Task(order.id, 'my test task')
        self.db.save_task(task1)
        assert_progress(.0)

        task2 = Task(order.id, 'another test task')
        self.db.save_task(task2)
        assert_progress(.0)

        # Change the progress, re-check.
        task1.set_progress(.5)
        self.db.save_task(task1)
        assert_progress(.25)

        task2.set_progress(.5)
        self.db.save_task(task2)
        assert_progress(.5)

        task1.set_progress(1.0)
        self.db.save_task(task1)
        assert_progress(.75)

        task2.set_progress(1.0)
        self.db.save_task(task2)
        assert_progress(1.0)