def test_minimal_order(self): order = WorkingOrder() order.owner = self.testuser order.account_code = 'test-account-code' order.project_name = 'test-project-name' order.save() order = WorkingOrder(owner=self.testuser, account_code='test-account-code', project_name = 'test-project-name') order.save()
def test_save_hits_database(self): order = WorkingOrder() order.owner = self.testuser order.account_code = 'test-account-code' order.project_name = 'test-project-name' order.save() orderid = order.id self.failUnless(WorkingOrder.objects.get(pk=orderid))
def test_status_change(self): # create a listener for the 'status_changed' event update = [0, None] def handle_event(sender, **kwargs): print 'fired...' update[0] += 1 update[1] = kwargs def validate_order_status(inst, count, old, new): self.failUnlessEqual(inst.status, new) self.failUnlessEqual(update[1]['old'], old) self.failUnlessEqual(update[1]['new'], new) self.failUnlessEqual(update[0], count) # register as a listener status_changed.connect(handle_event) self.failUnlessEqual(update[0], 0, 'initially counter is zero') # create a new order, verify counter incremented save_counter = 0 order = WorkingOrder(owner=self.testuser, account_code='test-account-code', project_name = 'test-project-name') order.save(); save_counter += 1 # 1 validate_order_status(order, save_counter, None, BaseOrder.Const.DEALER_EDIT) # retrieve a copy of the order, verify counter incremented only after save order_copy = WorkingOrder.objects.get(pk=order.id) order_copy.status = BaseOrder.Const.SUBMITTED self.failUnlessEqual(update[0], save_counter) order_copy.save(); save_counter += 1 # 2 validate_order_status(order_copy, save_counter, BaseOrder.Const.DEALER_EDIT, BaseOrder.Const.SUBMITTED) # retrieve a copy of the order, verify counter not incremented when update doesn't modify value copy2 = WorkingOrder.objects.get(pk=order.id) copy2.status = BaseOrder.Const.SUBMITTED copy2.save(); save_counter += 1 # 3 self.failUnlessEqual(update[0], save_counter - 1) # this save shouldn't have counted # update original order.. again.. order.status = BaseOrder.Const.ASSIGNED order.save() validate_order_status(order, save_counter, BaseOrder.Const.SUBMITTED, BaseOrder.Const.ASSIGNED)