Пример #1
0
    def test_received_failure(self):
        
        def call_db_procedure(name, parameters, using):
            raise ValidationError("Test wrong message", code="E")
        
        ets.utils.call_db_procedure = call_db_procedure
        
        ets.models.Waybill.objects.filter(pk="ISBX00312A").update(receipt_validated=True, 
                                                                  receipt_signed_date=datetime.now())

        #Send all validated waybills to compas
        send_received(ets.models.Waybill.objects.get(pk="ISBX00312A"), self.compas)
        self.assertFalse(ets.models.Waybill.objects.get(pk="ISBX00312A").receipt_sent_compas)
        self.assertFalse(ets.models.Waybill.objects.get(pk="ISBX00312A").receipt_validated)
        
        #Check compass logger
        logger = ets.models.CompasLogger.objects.get(waybill__pk='ISBX00312A')
        self.assertTupleEqual((logger.status, logger.message), (ets.models.CompasLogger.FAILURE, "Test wrong message"))
Пример #2
0
 def test_send_received(self):
     
     def call_db_procedure(name, parameters, using):
         assert name == 'write_waybill.receipt', "Wrong procedure's name"
         assert isinstance(parameters, tuple), "Parameters must be a tuple"
         assert using == self.compas, "Wrong compas"
     
     ets.utils.call_db_procedure = call_db_procedure
     
     waybill = ets.models.Waybill.objects.get(pk="ISBX00312A")
     
     #Validate first waybill
     waybill.receipt_validated = True
     waybill.receipt_signed_date = datetime.now()
     waybill.save()
     
     #Send all validated waybills to compas
     send_received(waybill, self.compas)
     
     self.assertTrue(ets.models.Waybill.objects.get(pk="ISBX00312A").receipt_sent_compas)
     
     #Check compass logger
     logger = ets.models.CompasLogger.objects.get(waybill__pk='ISBX00312A')
     self.assertEqual(logger.status, ets.models.CompasLogger.SUCCESS)
Пример #3
0
 def synchronize(self, compas):
     
     total = 0
     for waybill in Waybill.objects.filter(transport_dispach_signed_date__lte=datetime.now(), 
                                           validated=True, sent_compas__isnull=True,
                                           order__warehouse__compas__pk=compas.pk,
                                           order__warehouse__compas__read_only=False):
     
         if send_dispatched(waybill, compas.pk):
             total += 1
     
     for waybill in Waybill.objects.filter(receipt_signed_date__lte=datetime.now(), 
                                           receipt_validated=True, receipt_sent_compas__isnull=True,
                                           destination__compas__pk=compas.pk,
                                           destination__compas__read_only=False):
         
         if send_received(waybill, compas.pk):
             total += 1
     
     if total:
         import_stock(compas.pk)
Пример #4
0
def send_received_view(request, queryset):
    """Submits received waybills to COMPAS"""
    for waybill in queryset:
        send_received(waybill)
    
    return redirect('receipt_validates')