public function runWebApp() { WebDelivery::quickResponse(IndexResource::class, WebApplication::init(function (WebApplication $app) { $app->name = 'ucdi'; $app->defaultAction = 'ShowDashboard'; $this->configureMenu($app); $this->registerActions($app); $this->registerLinks($app); }, WebDelivery::init())); }
function restrictAccess() { $this->action->givenTheAction('foo'); $this->action->givenTheAction('bar'); $access = Mockster::of(AccessControl::class); Mockster::stub($access->isVisible('bar'))->will()->return_(true); WebApplication::init(function (WebApplication $application) use($access) { $application->restrictAccess(WebAccessControl::factory(Mockster::mock($access))); }, $this->web->factory); $this->whenIListTheActions(); $this->thenThereShouldBe_Actions(1); $this->thenAction_ShouldBe(1, 'bar'); }
<?php use rtens\blog\Admin; use rtens\blog\web\IndexResource; use rtens\domin\delivery\web\WebApplication; use watoki\curir\WebDelivery; require_once __DIR__ . '/vendor/autoload.php'; WebDelivery::quickResponse(IndexResource::class, WebDelivery::init(null, WebApplication::init(function (WebApplication $app) { Admin::initWeb($app, __DIR__ . '/data'); })));
function redirectToAcquirePermission() { $this->action->givenTheAction('foo'); $access = Mockster::of(AccessControl::class); Mockster::stub($access->isVisible('foo'))->will()->return_(true); WebApplication::init(function (WebApplication $app) use($access) { $app->restrictAccess(WebAccessControl::factory(Mockster::mock($access), function (WebRequest $request) { return $request->getContext()->appended('acquire_this'); })); }, $this->web->factory); $this->whenIExecute('foo'); $this->assert($this->web->model['redirect'], 'http://example.com/base/acquire_this'); }