public function testLoad() { $scope = 'website'; $scopeId = 1; $this->configFactory->expects($this->once())->method('create')->with($scope, $scopeId)->willReturn($this->designConfig); $this->designConfig->expects($this->once())->method('getExtensionAttributes')->willReturn($this->designConfigExtension); $this->designConfigExtension->expects($this->once())->method('getDesignConfigData')->willReturn([$this->designConfigData]); $this->designConfigData->expects($this->atLeastOnce())->method('getPath')->willReturn('path'); $this->scopeConfig->expects($this->once())->method('getValue')->with('path', $scope, $scopeId)->willReturn('value'); $this->valueProcessor->expects($this->once())->method('process')->with('value', 'path')->willReturnArgument(0); $this->designConfigData->expects($this->once())->method('setValue')->with('value'); $this->assertSame($this->designConfig, $this->model->load($scope, $scopeId)); }
public function testSaveWithException() { $scope = 'sadfa'; $scopeId = 0; $this->redirectFactory->expects($this->once())->method('create')->willReturn($this->redirect); $this->request->expects($this->exactly(2))->method('getParam')->withConsecutive(['scope'], ['scope_id'])->willReturnOnConsecutiveCalls($scope, $scopeId); $this->request->expects($this->once())->method('getParams')->willReturn(['header_default_title' => 'Default title']); $this->request->expects($this->once())->method('getFiles')->willReturn($this->fileParams); $this->fileParams->expects($this->once())->method('toArray')->willReturn(['header_logo' => ['tmp_name' => '', 'error' => 4]]); $this->configFactory->expects($this->once())->method('create')->with($scope, $scopeId, ['header_default_title' => 'Default title'])->willReturn($this->designConfig); $exception = new \Exception(__('Exception message')); $this->designConfigRepository->expects($this->once())->method('save')->with($this->designConfig)->willThrowException($exception); $this->messageManager->expects($this->once())->method('addException')->with($exception, 'Something went wrong while saving this configuration: Exception message'); $this->dataPersistor->expects($this->once())->method('set')->with('theme_design_config', ['header_default_title' => 'Default title']); $this->redirect->expects($this->once())->method('setPath')->with('theme/design_config/edit', ['scope' => $scope, 'scope_id' => $scopeId]); $this->assertSame($this->redirect, $this->controller->execute()); }