code from amapei

This commit is contained in:
cagette@ct8
2020-09-26 18:25:18 +00:00
parent 42fe367911
commit 72b4699871
1966 changed files with 220437 additions and 2 deletions
+64
View File
@@ -0,0 +1,64 @@
package test;
/**
* Test payments
*
* @author web-wizard
*/
class TestPayments extends haxe.unit.TestCase
{
public function new(){
super();
}
override function setup(){
TestSuite.initDB();
TestSuite.initDatas();
db.Basket.emptyCache();
}
function testValidateDistribution() {
//Take a contract with payments enabled
//Take 2 users and make orders for each
var distrib = TestSuite.DISTRIB_LEGUMES_RUE_SAUCISSE;
var contract = distrib.contract;
var product = TestSuite.COURGETTES;
var francoisOrder = service.OrderService.make(TestSuite.FRANCOIS, 1, product, distrib.id);
var francoisOrderOperation = db.Operation.onOrderConfirm([francoisOrder]);
var sebOrder = service.OrderService.make(TestSuite.SEB, 3, product, distrib.id);
var sebOrderOperation = db.Operation.onOrderConfirm([sebOrder]);
//They both pay by check
var francoisPayment = db.Operation.makePaymentOperation(TestSuite.FRANCOIS,contract.amap, payment.Check.TYPE, product.price, "Payment by check", francoisOrderOperation[0]);
var sebPayment = db.Operation.makePaymentOperation(TestSuite.SEB,contract.amap, payment.Check.TYPE, 3 * product.price, "Payment by check", sebOrderOperation[0] );
//Autovalidate this old distrib and check that all the payments are validated
service.PaymentService.validateDistribution(distrib);
//distrib should be validated
assertTrue(contract.amap.hasPayments());
assertEquals(true, distrib.validated);
//orders should be marked as paid
assertEquals(true, francoisOrder.paid);
assertEquals(true, sebOrder.paid);
//order operation is not pending
var francoisOperation = db.Operation.findVOrderTransactionFor(francoisOrder.distribution.getKey(), TestSuite.FRANCOIS, contract.amap, false);
var sebOperation = db.Operation.findVOrderTransactionFor(sebOrder.distribution.getKey(), TestSuite.SEB, contract.amap, false);
assertEquals(francoisOperation.pending, false);
assertEquals(sebOperation.pending, false);
//payment operation is not pending
assertEquals(francoisPayment.pending, false);
assertEquals(sebPayment.pending, false);
//basket are validated
var b = db.Basket.get(TestSuite.SEB,distrib.place,distrib.date);
assertEquals(true, b.isValidated());
var b = db.Basket.get(TestSuite.FRANCOIS,distrib.place,distrib.date);
assertEquals(true, b.isValidated());
}
}