示例#1
0
文件: tests.py 项目: oraclebill/dsusa
 def test_accountless_order(self):
     # fail if owner not set
     order = WorkingOrder()
     #order.account_code = 'test-account-code'
     order.project_name = 'test-project-name'
     self.failUnlessRaises(ValidationError, order.save)
 
     order = WorkingOrder(owner=self.testuser, project_name = 'test-project-name')
     self.failUnlessRaises(ValidationError, order.save)
示例#2
0
文件: tests.py 项目: oraclebill/dsusa
    def test_projectless_order(self):
        
        # fail if no project
        order = WorkingOrder()
        order.account_code = 'test-account-code'
        order.owner = self.testuser
        self.failUnlessRaises(ValidationError, order.save)

        order = WorkingOrder(owner=self.testuser, account_code='test-account-code')
        self.failUnlessRaises(ValidationError, order.save)
示例#3
0
文件: tests.py 项目: oraclebill/dsusa
    def test_ownerless_order(self):
        
        # fail if owner not set
        order = WorkingOrder()
        order.account_code = 'test-account-code'
        order.project_name = 'test-project-name'
        #order.owner = self.testuser
        self.failUnlessRaises(Exception, order.save)

        order = WorkingOrder(account_code='test-account-code', project_name = 'test-project-name')
        self.failUnlessRaises(Exception, order.save)
示例#4
0
文件: tests.py 项目: oraclebill/dsusa
 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()
示例#5
0
文件: tests.py 项目: oraclebill/dsusa
 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))
示例#6
0
文件: tests.py 项目: oraclebill/dsusa
    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)