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