5 class APITest
extends BaseTest
7 function provideHttpMethodAndAPI() {
17 foreach ($this->provideAPI() as $name => list($api)) {
18 foreach ($methods as $method) {
19 $data["$method $name"] = [$api, $method];
27 * @dataProvider provideAPI
29 function testReturnsApiOnPropertyAccess($api) {
30 $this->assertInstanceOf(API
::class, $api->foo
);
35 * @dataProvider provideAPI
37 function testReturnsCloneOnPropertyAccess($api) {
38 $this->assertNotEquals($api, $api->bar
);
43 * @dataProvider provideAPI
45 function testReturnsPromiseOnMethodCall($api) {
46 $this->assertTrue($api->getFuture()->isPromise($api->baz()));
50 * @dataProvider provideHttpMethodAndAPI
52 function testProvidesMethodForStandardHttpMethod($api, $method) {
53 $this->assertTrue(method_exists($api, $method));
57 * @dataProvider provideHttpMethodAndAPI
59 function testReturnsPromiseOnMethodCallForStandardHttpMethod($api, $method) {
60 $this->assertTrue($api->getFuture()->isPromise($api->$method()));
65 * @dataProvider provideAPI
66 * @depends testProvidesMethodForStandardHttpMethod
67 * @depends testReturnsPromiseOnMethodCallForStandardHttpMethod
69 function testProvidesMethodsForStandardHttpMethods($api) {
70 $this->assertTrue(true);