Skip to content

Commit 8d5d526

Browse files
committed
Check if gateway supports purchase before testing parameters
1 parent 193c7ee commit 8d5d526

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

src/Omnipay/Tests/GatewayTestCase.php

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -235,16 +235,18 @@ public function testCaptureParameters()
235235

236236
public function testPurchaseParameters()
237237
{
238-
foreach ($this->gateway->getDefaultParameters() as $key => $default) {
239-
// set property on gateway
240-
$getter = 'get'.ucfirst($key);
241-
$setter = 'set'.ucfirst($key);
242-
$value = uniqid();
243-
$this->gateway->$setter($value);
238+
if ($this->gateway->supportsPurchase()) {
239+
foreach ($this->gateway->getDefaultParameters() as $key => $default) {
240+
// set property on gateway
241+
$getter = 'get'.ucfirst($key);
242+
$setter = 'set'.ucfirst($key);
243+
$value = uniqid();
244+
$this->gateway->$setter($value);
244245

245-
// request should have matching property, with correct value
246-
$request = $this->gateway->purchase();
247-
$this->assertSame($value, $request->$getter());
246+
// request should have matching property, with correct value
247+
$request = $this->gateway->purchase();
248+
$this->assertSame($value, $request->$getter());
249+
}
248250
}
249251
}
250252

0 commit comments

Comments
 (0)