public function postAssign(Request $request, SkinHandler $skinHandler) { $validation = Validator::make($request->all(), ['skinId' => 'required', 'instanceId' => 'required']); if ($validation->fails()) { throw new InvalidArgumentException(); } $skinInstanceId = $request->get('instanceId'); $skinId = $request->get('skinId'); $mode = $request->get('mode', 'desktop'); $skin = $skinHandler->get($skinId); $skinHandler->assign($skinInstanceId, $skin, $mode); return XePresenter::makeApi(['type' => 'success', 'message' => '저장되었습니다.', 'skinId' => $skinId, 'skinTitle' => $skin->getTitle()]); }
public function testAssign() { $key = 'module/pluginA@real'; $instanceId = 'notice'; $skin = []; $skin = Mockery::mock('\\Xpressengine\\Skin\\SkinEntity'); $skin->shouldReceive('getId')->andReturn('foo'); $skin->shouldReceive('getConfig')->andReturn(['bar']); /** @var Mockery\MockInterface $store */ $store = $this->getStore(); $store->shouldReceive('setSelectedSkin')->withArgs([$key . SkinHandler::INSTANCE_DELIMITER . $instanceId, 'desktop', 'foo'])->once()->andReturnNull(); $this->handler->setStore($store); $this->handler->assign([$key, $instanceId], $skin); }