summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/theming/lib/Controller/ThemingController.php13
-rw-r--r--apps/theming/tests/Controller/ThemingControllerTest.php39
2 files changed, 48 insertions, 4 deletions
diff --git a/apps/theming/lib/Controller/ThemingController.php b/apps/theming/lib/Controller/ThemingController.php
index 225673079a3..b409d309f4d 100644
--- a/apps/theming/lib/Controller/ThemingController.php
+++ b/apps/theming/lib/Controller/ThemingController.php
@@ -73,6 +73,8 @@ class ThemingController extends Controller {
private $appData;
/** @var SCSSCacher */
private $scssCacher;
+ /** @var IURLGenerator */
+ private $urlGenerator;
/**
* ThemingController constructor.
@@ -87,6 +89,7 @@ class ThemingController extends Controller {
* @param ITempManager $tempManager
* @param IAppData $appData
* @param SCSSCacher $scssCacher
+ * @param IURLGenerator $urlGenerator
*/
public function __construct(
$appName,
@@ -98,7 +101,8 @@ class ThemingController extends Controller {
IL10N $l,
ITempManager $tempManager,
IAppData $appData,
- SCSSCacher $scssCacher
+ SCSSCacher $scssCacher,
+ IURLGenerator $urlGenerator
) {
parent::__construct($appName, $request);
@@ -110,6 +114,7 @@ class ThemingController extends Controller {
$this->tempManager = $tempManager;
$this->appData = $appData;
$this->scssCacher = $scssCacher;
+ $this->urlGenerator = $urlGenerator;
}
/**
@@ -172,7 +177,8 @@ class ThemingController extends Controller {
[
'data' =>
[
- 'message' => $this->l10n->t('Saved')
+ 'message' => $this->l10n->t('Saved'),
+ 'serverCssUrl' => $this->urlGenerator->linkTo('', $this->scssCacher->getCachedSCSS('core', '/core/css/server.scss'))
],
'status' => 'success'
]
@@ -303,7 +309,8 @@ class ThemingController extends Controller {
'data' =>
[
'value' => $value,
- 'message' => $this->l10n->t('Saved')
+ 'message' => $this->l10n->t('Saved'),
+ 'serverCssUrl' => $this->urlGenerator->linkTo('', $this->scssCacher->getCachedSCSS('core', '/core/css/server.scss'))
],
'status' => 'success'
]
diff --git a/apps/theming/tests/Controller/ThemingControllerTest.php b/apps/theming/tests/Controller/ThemingControllerTest.php
index 960ce03b139..5e6e43ca3cb 100644
--- a/apps/theming/tests/Controller/ThemingControllerTest.php
+++ b/apps/theming/tests/Controller/ThemingControllerTest.php
@@ -70,6 +70,8 @@ class ThemingControllerTest extends TestCase {
private $appData;
/** @var SCSSCacher */
private $scssCacher;
+ /** @var IURLGenerator */
+ private $urlGenerator;
public function setUp() {
$this->request = $this->createMock(IRequest::class);
@@ -85,6 +87,7 @@ class ThemingControllerTest extends TestCase {
->willReturn(123);
$this->tempManager = \OC::$server->getTempManager();
$this->scssCacher = $this->createMock(SCSSCacher::class);
+ $this->urlGenerator = $this->createMock(IURLGenerator::class);
$this->themingController = new ThemingController(
'theming',
@@ -96,7 +99,8 @@ class ThemingControllerTest extends TestCase {
$this->l10n,
$this->tempManager,
$this->appData,
- $this->scssCacher
+ $this->scssCacher,
+ $this->urlGenerator
);
return parent::setUp();
@@ -129,12 +133,23 @@ class ThemingControllerTest extends TestCase {
->method('t')
->with($message)
->willReturn($message);
+ $this->scssCacher
+ ->expects($this->once())
+ ->method('getCachedSCSS')
+ ->with('core', '/core/css/server.scss')
+ ->willReturn('/core/css/someHash-server.scss');
+ $this->urlGenerator
+ ->expects($this->once())
+ ->method('linkTo')
+ ->with('', '/core/css/someHash-server.scss')
+ ->willReturn('/nextcloudWebroot/core/css/someHash-server.scss');
$expected = new DataResponse(
[
'data' =>
[
'message' => $message,
+ 'serverCssUrl' => '/nextcloudWebroot/core/css/someHash-server.scss',
],
'status' => 'success',
]
@@ -448,6 +463,16 @@ class ThemingControllerTest extends TestCase {
->method('undo')
->with('MySetting')
->willReturn('MyValue');
+ $this->scssCacher
+ ->expects($this->once())
+ ->method('getCachedSCSS')
+ ->with('core', '/core/css/server.scss')
+ ->willReturn('/core/css/someHash-server.scss');
+ $this->urlGenerator
+ ->expects($this->once())
+ ->method('linkTo')
+ ->with('', '/core/css/someHash-server.scss')
+ ->willReturn('/nextcloudWebroot/core/css/someHash-server.scss');
$expected = new DataResponse(
[
@@ -455,6 +480,7 @@ class ThemingControllerTest extends TestCase {
[
'value' => 'MyValue',
'message' => 'Saved',
+ 'serverCssUrl' => '/nextcloudWebroot/core/css/someHash-server.scss',
],
'status' => 'success'
]
@@ -481,6 +507,16 @@ class ThemingControllerTest extends TestCase {
->method('undo')
->with($value)
->willReturn($value);
+ $this->scssCacher
+ ->expects($this->once())
+ ->method('getCachedSCSS')
+ ->with('core', '/core/css/server.scss')
+ ->willReturn('/core/css/someHash-server.scss');
+ $this->urlGenerator
+ ->expects($this->once())
+ ->method('linkTo')
+ ->with('', '/core/css/someHash-server.scss')
+ ->willReturn('/nextcloudWebroot/core/css/someHash-server.scss');
$folder = $this->createMock(ISimpleFolder::class);
$file = $this->createMock(ISimpleFile::class);
$this->appData
@@ -503,6 +539,7 @@ class ThemingControllerTest extends TestCase {
[
'value' => $value,
'message' => 'Saved',
+ 'serverCssUrl' => '/nextcloudWebroot/core/css/someHash-server.scss',
],
'status' => 'success'
]