mirror of https://github.com/grafana/grafana
parent
b2e6b2485f
commit
b00542e194
@ -0,0 +1,91 @@ |
|||||||
|
package sqlstore |
||||||
|
|
||||||
|
import ( |
||||||
|
"testing" |
||||||
|
|
||||||
|
. "github.com/smartystreets/goconvey/convey" |
||||||
|
|
||||||
|
"github.com/grafana/grafana/pkg/models" |
||||||
|
"github.com/grafana/grafana/pkg/setting" |
||||||
|
) |
||||||
|
|
||||||
|
func TestPreferencesDataAccess(t *testing.T) { |
||||||
|
Convey("Testing preferences data access", t, func() { |
||||||
|
InitTestDB(t) |
||||||
|
|
||||||
|
Convey("GetPreferencesWithDefaults with no saved preferences should return defaults", func() { |
||||||
|
query := &models.GetPreferencesWithDefaultsQuery{User: &models.SignedInUser{}} |
||||||
|
err := GetPreferencesWithDefaults(query) |
||||||
|
So(err, ShouldBeNil) |
||||||
|
So(query.Result.Theme, ShouldEqual, setting.DefaultTheme) |
||||||
|
So(query.Result.Timezone, ShouldEqual, "browser") |
||||||
|
So(query.Result.HomeDashboardId, ShouldEqual, 0) |
||||||
|
}) |
||||||
|
|
||||||
|
Convey("GetPreferencesWithDefaults with saved org and user home dashboard should return user home dashboard", func() { |
||||||
|
SavePreferences(&models.SavePreferencesCommand{OrgId: 1, HomeDashboardId: 1}) |
||||||
|
SavePreferences(&models.SavePreferencesCommand{OrgId: 1, UserId: 1, HomeDashboardId: 4}) |
||||||
|
|
||||||
|
query := &models.GetPreferencesWithDefaultsQuery{User: &models.SignedInUser{OrgId: 1, UserId: 1}} |
||||||
|
err := GetPreferencesWithDefaults(query) |
||||||
|
So(err, ShouldBeNil) |
||||||
|
So(query.Result.HomeDashboardId, ShouldEqual, 4) |
||||||
|
}) |
||||||
|
|
||||||
|
Convey("GetPreferencesWithDefaults with saved org and other user home dashboard should return org home dashboard", func() { |
||||||
|
SavePreferences(&models.SavePreferencesCommand{OrgId: 1, HomeDashboardId: 1}) |
||||||
|
SavePreferences(&models.SavePreferencesCommand{OrgId: 1, UserId: 1, HomeDashboardId: 4}) |
||||||
|
|
||||||
|
query := &models.GetPreferencesWithDefaultsQuery{User: &models.SignedInUser{OrgId: 1, UserId: 2}} |
||||||
|
err := GetPreferencesWithDefaults(query) |
||||||
|
So(err, ShouldBeNil) |
||||||
|
So(query.Result.HomeDashboardId, ShouldEqual, 1) |
||||||
|
}) |
||||||
|
|
||||||
|
Convey("GetPreferencesWithDefaults with saved org and teams home dashboard should return last team home dashboard", func() { |
||||||
|
SavePreferences(&models.SavePreferencesCommand{OrgId: 1, HomeDashboardId: 1}) |
||||||
|
SavePreferences(&models.SavePreferencesCommand{OrgId: 1, TeamId: 2, HomeDashboardId: 2}) |
||||||
|
SavePreferences(&models.SavePreferencesCommand{OrgId: 1, TeamId: 3, HomeDashboardId: 3}) |
||||||
|
|
||||||
|
query := &models.GetPreferencesWithDefaultsQuery{User: &models.SignedInUser{OrgId: 1, Teams: []int64{2, 3}}} |
||||||
|
err := GetPreferencesWithDefaults(query) |
||||||
|
So(err, ShouldBeNil) |
||||||
|
So(query.Result.HomeDashboardId, ShouldEqual, 3) |
||||||
|
}) |
||||||
|
|
||||||
|
Convey("GetPreferencesWithDefaults with saved org and other teams home dashboard should return org home dashboard", func() { |
||||||
|
SavePreferences(&models.SavePreferencesCommand{OrgId: 1, HomeDashboardId: 1}) |
||||||
|
SavePreferences(&models.SavePreferencesCommand{OrgId: 1, TeamId: 2, HomeDashboardId: 2}) |
||||||
|
SavePreferences(&models.SavePreferencesCommand{OrgId: 1, TeamId: 3, HomeDashboardId: 3}) |
||||||
|
|
||||||
|
query := &models.GetPreferencesWithDefaultsQuery{User: &models.SignedInUser{OrgId: 1}} |
||||||
|
err := GetPreferencesWithDefaults(query) |
||||||
|
So(err, ShouldBeNil) |
||||||
|
So(query.Result.HomeDashboardId, ShouldEqual, 1) |
||||||
|
}) |
||||||
|
|
||||||
|
Convey("GetPreferencesWithDefaults with saved org, teams and user home dashboard should return user home dashboard", func() { |
||||||
|
SavePreferences(&models.SavePreferencesCommand{OrgId: 1, HomeDashboardId: 1}) |
||||||
|
SavePreferences(&models.SavePreferencesCommand{OrgId: 1, TeamId: 2, HomeDashboardId: 2}) |
||||||
|
SavePreferences(&models.SavePreferencesCommand{OrgId: 1, TeamId: 3, HomeDashboardId: 3}) |
||||||
|
SavePreferences(&models.SavePreferencesCommand{OrgId: 1, UserId: 1, HomeDashboardId: 4}) |
||||||
|
|
||||||
|
query := &models.GetPreferencesWithDefaultsQuery{User: &models.SignedInUser{OrgId: 1, UserId: 1, Teams: []int64{2, 3}}} |
||||||
|
err := GetPreferencesWithDefaults(query) |
||||||
|
So(err, ShouldBeNil) |
||||||
|
So(query.Result.HomeDashboardId, ShouldEqual, 4) |
||||||
|
}) |
||||||
|
|
||||||
|
Convey("GetPreferencesWithDefaults with saved org, other teams and user home dashboard should return org home dashboard", func() { |
||||||
|
SavePreferences(&models.SavePreferencesCommand{OrgId: 1, HomeDashboardId: 1}) |
||||||
|
SavePreferences(&models.SavePreferencesCommand{OrgId: 1, TeamId: 2, HomeDashboardId: 2}) |
||||||
|
SavePreferences(&models.SavePreferencesCommand{OrgId: 1, TeamId: 3, HomeDashboardId: 3}) |
||||||
|
SavePreferences(&models.SavePreferencesCommand{OrgId: 1, UserId: 1, HomeDashboardId: 4}) |
||||||
|
|
||||||
|
query := &models.GetPreferencesWithDefaultsQuery{User: &models.SignedInUser{OrgId: 1, UserId: 2}} |
||||||
|
err := GetPreferencesWithDefaults(query) |
||||||
|
So(err, ShouldBeNil) |
||||||
|
So(query.Result.HomeDashboardId, ShouldEqual, 1) |
||||||
|
}) |
||||||
|
}) |
||||||
|
} |
Loading…
Reference in new issue