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
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)
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)