Commit b415d826 by Torkel Ödegaard

fixed to template PR issues, #13938

parent 70bb81c6
......@@ -18,6 +18,7 @@ import (
)
func TestMiddlewareContext(t *testing.T) {
setting.ERR_TEMPLATE_NAME = "error-template"
Convey("Given the grafana middleware", t, func() {
middlewareScenario("middleware should add context to injector", func(sc *scenarioContext) {
......
......@@ -138,7 +138,7 @@ func Recovery() macaron.Handler {
c.JSON(500, resp)
} else {
c.HTML(500, "error")
c.HTML(500, setting.ERR_TEMPLATE_NAME)
}
}
}()
......
......@@ -8,11 +8,14 @@ import (
"github.com/grafana/grafana/pkg/bus"
m "github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/services/session"
"github.com/grafana/grafana/pkg/setting"
. "github.com/smartystreets/goconvey/convey"
"gopkg.in/macaron.v1"
)
func TestRecoveryMiddleware(t *testing.T) {
setting.ERR_TEMPLATE_NAME = "error-template"
Convey("Given an api route that panics", t, func() {
apiURL := "/api/whatever"
recoveryScenario("recovery middleware should return json", apiURL, func(sc *scenarioContext) {
......@@ -50,6 +53,7 @@ func recoveryScenario(desc string, url string, fn scenarioFunc) {
sc := &scenarioContext{
url: url,
}
viewsPath, _ := filepath.Abs("../../public/views")
sc.m = macaron.New()
......
......@@ -36,7 +36,7 @@ func (ctx *ReqContext) Handle(status int, title string, err error) {
ctx.Data["AppSubUrl"] = setting.AppSubUrl
ctx.Data["Theme"] = "dark"
ctx.HTML(status, "error")
ctx.HTML(status, setting.ERR_TEMPLATE_NAME)
}
func (ctx *ReqContext) JsonOK(message string) {
......
......@@ -39,6 +39,10 @@ const (
)
var (
ERR_TEMPLATE_NAME = "error"
)
var (
// App settings.
Env = DEV
AppUrl string
......
import _ from 'lodash';
import { PanelModel } from '../panel_model';
describe('PanelModel', () => {
describe('when creating new panel model', () => {
let model;
beforeEach(() => {
model = new PanelModel({});
});
it('should apply defaults', () => {
expect(model.gridPos.h).toBe(3);
});
it('getSaveModel should remove defaults', () => {
const saveModel = model.getSaveModel();
expect(saveModel.gridPos).toBe(undefined);
});
it('getSaveModel should remove nonPersistedProperties', () => {
const saveModel = model.getSaveModel();
expect(saveModel.events).toBe(undefined);
});
describe('when calling applyDefaults', () => {
beforeEach(() => {
const defaults = {
myName: 'My name',
myBool1: true,
myBool2: false,
myNumber: 0,
nestedObj: {
myName: 'nested name',
myBool1: true,
myBool2: false,
myNumber: 0,
},
};
model.applyDefaults(defaults);
});
it('Should apply defaults', () => {
expect(model.myName).toBe('My name');
expect(model.myBool1).toBe(true);
expect(model.myBool2).toBe(false);
expect(model.myNumber).toBe(0);
expect(model.nestedObj.myName).toBe('nested name');
expect(model.nestedObj.myBool1).toBe(true);
expect(model.nestedObj.myBool2).toBe(false);
expect(model.nestedObj.myNumber).toBe(0);
});
it('getSaveModel should remove them', () => {
const saveModel = model.getSaveModel();
expect(saveModel.myName).toBe(undefined);
expect(saveModel.nestedObj).toBe(undefined);
});
it('getSaveModel should remove only unchanged defaults', () => {
model.myName = 'changed';
model.nestedObj.myBool2 = true;
const saveModel = model.getSaveModel();
expect(saveModel.myName).toBe('changed');
expect(saveModel.nestedObj.myBool2).toBe(true);
expect(saveModel.nestedObj.myBool1).toBe(undefined);
});
});
});
});
......@@ -47,7 +47,7 @@ module.exports = {
},
{
test: /\.html$/,
exclude: /(index|error)\.template\.html/,
exclude: /(index|error)\-template\.html/,
use: [
{ loader: 'ngtemplate-loader?relativeTo=' + (path.resolve(__dirname, '../../public')) + '&prefix=public' },
{
......
......@@ -84,12 +84,12 @@ module.exports = merge(common, {
}),
new HtmlWebpackPlugin({
filename: path.resolve(__dirname, '../../public/views/error.html'),
template: path.resolve(__dirname, '../../public/views/error.template.html'),
template: path.resolve(__dirname, '../../public/views/error-template.html'),
inject: 'false',
}),
new HtmlWebpackPlugin({
filename: path.resolve(__dirname, '../../public/views/index.html'),
template: path.resolve(__dirname, '../../public/views/index.template.html'),
template: path.resolve(__dirname, '../../public/views/index-template.html'),
inject: 'body',
chunks: ['manifest', 'vendor', 'app'],
}),
......
......@@ -87,7 +87,7 @@ module.exports = merge(common, {
new CleanWebpackPlugin('../public/build', { allowExternal: true }),
new HtmlWebpackPlugin({
filename: path.resolve(__dirname, '../../public/views/index.html'),
template: path.resolve(__dirname, '../../public/views/index.template.html'),
template: path.resolve(__dirname, '../../public/views/index-template.html'),
inject: 'body',
alwaysWriteToDisk: true
}),
......
......@@ -76,13 +76,13 @@ module.exports = merge(common, {
new ngAnnotatePlugin(),
new HtmlWebpackPlugin({
filename: path.resolve(__dirname, '../../public/views/index.html'),
template: path.resolve(__dirname, '../../public/views/index.template.html'),
template: path.resolve(__dirname, '../../public/views/index-template.html'),
inject: 'body',
chunks: ['vendor', 'app'],
}),
new HtmlWebpackPlugin({
filename: path.resolve(__dirname, '../../public/views/error.html'),
template: path.resolve(__dirname, '../../public/views/error.template.html'),
template: path.resolve(__dirname, '../../public/views/error-template.html'),
inject: false,
}),
function () {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment