code from amapei
This commit is contained in:
@@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user