64 - Making the Tests Identical

This commit is contained in:
Adam Wathan
2017-01-18 13:52:33 -05:00
parent 0d7720cdc0
commit 529e4d83bc
3 changed files with 29 additions and 2 deletions

View File

@@ -13,14 +13,33 @@ class FakePaymentGatewayTest extends TestCase
return new FakePaymentGateway;
}
/** @test */
function can_fetch_charges_created_during_a_callback()
{
$paymentGateway = $this->getPaymentGateway();
$paymentGateway->charge(2000, $paymentGateway->getValidTestToken());
$paymentGateway->charge(3000, $paymentGateway->getValidTestToken());
$newCharges = $paymentGateway->newChargesDuring(function ($paymentGateway) {
$paymentGateway->charge(4000, $paymentGateway->getValidTestToken());
$paymentGateway->charge(5000, $paymentGateway->getValidTestToken());
});
$this->assertCount(2, $newCharges);
$this->assertEquals([4000, 5000], $newCharges->all());
}
/** @test */
function charges_with_a_valid_payment_token_are_successful()
{
$paymentGateway = $this->getPaymentGateway();
$paymentGateway->charge(2500, $paymentGateway->getValidTestToken());
$newCharges = $paymentGateway->newChargesDuring(function ($paymentGateway) {
$paymentGateway->charge(2500, $paymentGateway->getValidTestToken());
});
$this->assertEquals(2500, $paymentGateway->totalCharges());
$this->assertCount(1, $newCharges);
$this->assertEquals(2500, $newCharges->sum());
}
/** @test */