diff options
Diffstat (limited to 'libs/jsonrpc/tests/Request/RequestBuilderTest.php')
-rw-r--r-- | libs/jsonrpc/tests/Request/RequestBuilderTest.php | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/libs/jsonrpc/tests/Request/RequestBuilderTest.php b/libs/jsonrpc/tests/Request/RequestBuilderTest.php new file mode 100644 index 00000000..ce9cf674 --- /dev/null +++ b/libs/jsonrpc/tests/Request/RequestBuilderTest.php @@ -0,0 +1,53 @@ +<?php + +use JsonRPC\Request\RequestBuilder; + +require_once __DIR__.'/../../../../vendor/autoload.php'; + +class RequestBuilderTest extends PHPUnit_Framework_TestCase +{ + public function testBuilder() + { + $payload = RequestBuilder::create() + ->withId(123) + ->withProcedure('foobar') + ->withParams(array(1, 2, 3)) + ->build(); + + $this->assertEquals('{"jsonrpc":"2.0","method":"foobar","id":123,"params":[1,2,3]}', $payload); + } + + public function testBuilderWithoutParams() + { + $payload = RequestBuilder::create() + ->withId(123) + ->withProcedure('foobar') + ->build(); + + $this->assertEquals('{"jsonrpc":"2.0","method":"foobar","id":123}', $payload); + } + + public function testBuilderWithoutId() + { + $payload = RequestBuilder::create() + ->withProcedure('foobar') + ->withParams(array(1, 2, 3)) + ->build(); + + $result = json_decode($payload, true); + $this->assertNotNull($result['id']); + } + + public function testBuilderWithAdditionalRequestAttributes() + { + $payload = RequestBuilder::create() + ->withProcedure('foobar') + ->withParams(array(1, 2, 3)) + ->withRequestAttributes(array("some-attr" => 42)) + ->build(); + + $result = json_decode($payload, true); + $this->assertNotNull($result['some-attr']); + } + +} |