Skip to content

Commit 0da8774

Browse files
committed
Update Intercom TestCase to include helper methods for requests and responses
1 parent 63d7d14 commit 0da8774

File tree

1 file changed

+74
-0
lines changed

1 file changed

+74
-0
lines changed

src/intercom/IntercomTestCase.php

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,80 @@ public function setUp()
1616
]);
1717
}
1818

19+
protected function getOnlyMockedRequest($method = null, $path = null)
20+
{
21+
$requests = $this->getMockedRequests();
22+
$count = count($requests);
23+
24+
if ($count != 1)
25+
{
26+
$this->fail("Expected 1 HTTP request, got $count!");
27+
}
28+
29+
$request = $requests[0];
30+
31+
if ($method && $path)
32+
{
33+
$this->assertRequest($method, $path, $request);
34+
}
35+
else if ($method || $path)
36+
{
37+
$this->fail('$method and $path must both be present or null.');
38+
}
39+
40+
return $request;
41+
}
42+
43+
protected function assertRequest($method, $path, $request = null)
44+
{
45+
if (!$request)
46+
{
47+
$request = $this->getOnlyMockedRequest();
48+
}
49+
50+
$this->assertEquals($method, $request->getMethod());
51+
$this->assertEquals($path, $request->getResource());
52+
}
53+
54+
protected function assertBasicAuth($username, $password, $request = null)
55+
{
56+
if (!$request)
57+
{
58+
$request = $this->getOnlyMockedRequest();
59+
}
60+
61+
$header = $request->getHeader('Authorization');
62+
63+
if (!$header)
64+
{
65+
$this->fail("Missing Authorization header.");
66+
}
67+
68+
$this->assertEquals(
69+
'Basic ' . base64_encode("$username:$password"),
70+
$header->__toString()
71+
);
72+
}
73+
74+
protected function assertRequestJson($object, $request = null)
75+
{
76+
if (!$request)
77+
{
78+
$request = $this->getOnlyMockedRequest();
79+
}
80+
81+
$body = $request->getBody();
82+
if (!$body)
83+
{
84+
$this->fail('Missing request entity body.');
85+
86+
}
87+
88+
$this->assertEquals(
89+
json_encode($object),
90+
$body->__toString()
91+
);
92+
}
1993
}
2094

2195
?>

0 commit comments

Comments
 (0)