1package middleware
2
3import (
4	"testing"
5
6	"github.com/stretchr/testify/assert"
7	"github.com/stretchr/testify/require"
8)
9
10func TestMiddlewareDashboardRedirect_legacyEditPanel(t *testing.T) {
11	middlewareScenario(t, "GET dashboard by legacy edit URL", func(t *testing.T, sc *scenarioContext) {
12		sc.handlerFunc = RedirectFromLegacyPanelEditURL(sc.cfg)
13		sc.m.Get("/d/:uid/:slug", sc.defaultHandler)
14
15		sc.fakeReqWithParams("GET", "/d/asd/dash?orgId=1&panelId=12&fullscreen&edit", map[string]string{}).exec()
16
17		assert.Equal(t, 301, sc.resp.Code)
18		// nolint:bodyclose
19		resp := sc.resp.Result()
20		t.Cleanup(func() {
21			err := resp.Body.Close()
22			assert.NoError(t, err)
23		})
24		redirectURL, err := resp.Location()
25		require.NoError(t, err)
26		assert.Equal(t, "/d/asd/d/asd/dash?editPanel=12&orgId=1", redirectURL.String())
27	})
28}
29