mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
fixed to template PR issues, #13938
This commit is contained in:
parent
70bb81c6eb
commit
b415d82611
@ -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) {
|
||||
|
@ -38,6 +38,10 @@ const (
|
||||
APP_NAME_ENTERPRISE = "Grafana Enterprise"
|
||||
)
|
||||
|
||||
var (
|
||||
ERR_TEMPLATE_NAME = "error"
|
||||
)
|
||||
|
||||
var (
|
||||
// App settings.
|
||||
Env = DEV
|
||||
|
72
public/app/features/dashboard/specs/panel_model.test.ts
Normal file
72
public/app/features/dashboard/specs/panel_model.test.ts
Normal file
@ -0,0 +1,72 @@
|
||||
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 () {
|
||||
|
Loading…
Reference in New Issue
Block a user