Ejemplo n.º 1
0
 public function createModels()
 {
     $models = [];
     $models["c1"] = Company::create(["name" => "test 1"]);
     $models["c2"] = Company::create(["name" => "test 2"]);
     $models["a"] = User::create(["name" => "admin", "email" => "*****@*****.**", "company_id" => $models["c1"]->id, "type" => User::TYPE_ADMIN]);
     $models["p1"] = User::create(["name" => "user1", "email" => "*****@*****.**", "company_id" => $models["c1"]->id, "type" => User::TYPE_PAYEE, "code" => "1111"]);
     $models["p2"] = User::create(["name" => "user2", "email" => "*****@*****.**", "company_id" => $models["c1"]->id, "type" => User::TYPE_PAYEE, "code" => "2222"]);
     $models["p3"] = User::create(["name" => "user3", "email" => "*****@*****.**", "company_id" => $models["c1"]->id, "type" => User::TYPE_PAYEE, "code" => "3333"]);
     $models["p4"] = User::create(["name" => "user4", "email" => "*****@*****.**", "company_id" => $models["c2"]->id, "type" => User::TYPE_PAYEE, "code" => "4444"]);
     $models["p5"] = User::create(["name" => "user5", "email" => "*****@*****.**", "company_id" => $models["c2"]->id, "type" => User::TYPE_PAYEE, "code" => "5555"]);
     $models["p6"] = User::create(["name" => "user6", "email" => "*****@*****.**", "company_id" => $models["c2"]->id, "type" => User::TYPE_PAYEE, "code" => "6666"]);
     $models["p7"] = User::create(["name" => "user7", "email" => "*****@*****.**", "company_id" => $models["c2"]->id, "type" => User::TYPE_PAYEE, "code" => "7777"]);
     $models["pp1"] = PayeePayment::create(["amount" => 100, "status" => "unpaid", "payee_code" => $models["p1"]->code, "company_id" => $models["p1"]->company_id]);
     $models["pp2"] = PayeePayment::create(["amount" => 100, "status" => "paid", "payee_code" => $models["p1"]->code, "company_id" => $models["p1"]->company_id]);
     $models["pp3"] = PayeePayment::create(["amount" => 100, "status" => "unpaid", "payee_code" => $models["p1"]->code, "company_id" => $models["p1"]->company_id]);
     $models["pp4"] = PayeePayment::create(["amount" => 100, "status" => "paid", "payee_code" => $models["p2"]->code, "company_id" => $models["p2"]->company_id]);
     $models["pp5"] = PayeePayment::create(["amount" => 100, "status" => "paid", "payee_code" => $models["p2"]->code, "company_id" => $models["p2"]->company_id]);
     $models["pp6"] = PayeePayment::create(["amount" => 100, "status" => "unpaid", "payee_code" => $models["p2"]->code, "company_id" => $models["p2"]->company_id]);
     $models["pp7"] = PayeePayment::create(["amount" => 100, "status" => "unpaid", "payee_code" => $models["p2"]->code, "company_id" => $models["p2"]->company_id]);
     return $models;
 }
Ejemplo n.º 2
0
 public function testMarkAsPaidWithMultipleAdvances2CompleteUnfixedAmount()
 {
     $this->resetEvents();
     $user = User::create(self::userArray());
     $advance1 = Advance::create(self::advanceArray());
     $advance2 = Advance::create(self::advanceArray());
     $advance3 = Advance::create(self::advanceArray());
     $paymentDate = date("Y-m-d", strtotime("+ 5 days"));
     $payeePayment = PayeePayment::create(self::payeePaymentArray());
     $royaltyPayment = self::royaltyPaymentsArray($payeePayment);
     $royaltyPayment["amount_received"] = 800;
     RoyaltyPayment::create($royaltyPayment);
     RoyaltyPayment::create($royaltyPayment);
     RoyaltyPayment::create($royaltyPayment);
     $payeePayment->markAsPaid($paymentDate);
     $this->assertTrue(count(AdvancePayment::all()) == 5);
     $this->assertTrue(count(AdvancePayment::where("advance_id", "=", $advance1->id)->get()) == 2);
     $this->assertTrue(count(AdvancePayment::where("advance_id", "=", $advance2->id)->get()) == 2);
     $this->assertTrue(count(AdvancePayment::where("advance_id", "=", $advance3->id)->get()) == 1);
     $advanceFound1 = Advance::find($advance1->id);
     $this->assertTrue($advanceFound1->status == "complete");
     $advanceFound2 = Advance::find($advance2->id);
     $this->assertTrue($advanceFound2->status == "complete");
     $advanceFound3 = Advance::find($advance3->id);
     $this->assertTrue($advanceFound3->status == "incomplete");
     $this->assertTrue($advanceFound3->amountLeftToPay() == 600);
     $this->assertTrue(AdvancePayment::find(1)->amount == 800);
     $this->assertTrue(AdvancePayment::find(2)->amount == 200);
     $this->assertTrue(AdvancePayment::find(3)->amount == 600);
     $this->assertTrue(AdvancePayment::find(4)->amount == 400);
     $this->assertTrue(AdvancePayment::find(5)->amount == 400);
     $payeePayment1 = PayeePayment::find($payeePayment->id);
     $this->assertTrue($payeePayment1->status == "paid");
     $this->resetEvents();
 }
Ejemplo n.º 3
0
 public static function updateOrCreatePayeePayment($payeePayment)
 {
     $payeePayment = self::formatFromExcel($payeePayment);
     if (isset($payeePayment['payee_payment.id']) && is_int(intval($payeePayment['payee_payment.id']))) {
         $payment = PayeePayment::find($payeePayment['payee_payment.id']);
         $payment->update($payeePayment);
     } else {
         $payeePayment['company_id'] = Auth::user()["company_id"];
         $payment = PayeePayment::create($payeePayment);
     }
     if (isset($payeePayment['status']) && $payeePayment['status'] == 'paid') {
         $payment->distributePayeePaymentToAdvancePayments();
     }
 }