/** * Create the VersionFactory for the Version * * @return \LaraPackage\Api\Contracts\Factory\VersionFactory * @internal param $version * */ protected function createVersionFactory() { $version = $this->requestParser->version(); $factory = $this->apiVersion->factory($version); $instance = $this->app->make($factory); $this->app->instance(\LaraPackage\Api\Contracts\Factory\VersionFactory::class, $instance); return $instance; }
/** * @inheritdoc */ public function getCurrent() { $currentPositionParameter = $this->config->getIndexForVersion('collection.current_position', $this->requestParser->version()); $current = $this->requestParser->query($currentPositionParameter); if (!empty($current)) { return (int) $current; } return 0; }
/** * @param App $app * @param \LaraPackage\Api\Contracts\Request\Parser $requestParser * @param \LaraPackage\Api\Contracts\Factory\VersionFactory $versionFactory */ protected function versionFactoryExpectations(App $app, \LaraPackage\Api\Contracts\Request\Parser $requestParser, \LaraPackage\Api\Contracts\Factory\VersionFactory $versionFactory, ApiVersion $apiVersion) { $requestParser->version()->shouldBeCalled()->willReturn($this->version); $apiVersion->factory($this->version)->shouldBeCalled()->willReturn(VersionFactory::class); $app->instance(\LaraPackage\Api\Contracts\Factory\VersionFactory::class, $versionFactory)->shouldBeCalled(); $app->make(VersionFactory::class)->shouldBeCalledTimes(1)->willReturn($versionFactory); }
function it_returns_the_current_position_even_if_it_is_null(Parser $parser, ApiVersion $apiVersion) { $version = 4; $postionString = 'current'; $parser->version()->shouldBeCalled()->willReturn($version); $apiVersion->collectionCurrentPositionString($version)->shouldBeCalled()->willReturn($postionString); $parser->query($postionString)->shouldBeCalled()->willReturn(null); $this->currentPosition()->shouldReturn(0); }
/** * @inheritdoc */ public function pageSize() { return $this->version->collectionPageSize($this->requestParser->version()); }
/** * @param \LaraPackage\Api\Contracts\Config\Api $config * @param \LaraPackage\Api\Contracts\Request\Parser $requestParser * @param $requestParserReturn */ protected function currentExpectations(\LaraPackage\Api\Contracts\Config\Api $config, \LaraPackage\Api\Contracts\Request\Parser $requestParser, $requestParserReturn) { $version = 4; $currentString = 'current'; $requestParser->version()->shouldBeCalled()->willReturn($version); $config->getIndexForVersion('collection.current_position', $version)->shouldBeCalled()->willReturn($currentString); $requestParser->query($currentString)->shouldBeCalled()->willReturn($requestParserReturn); }