| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- 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)
- })
- })
- }
|