MM-43653: Fix incorrect system store update (#20051)

https://mattermost.atlassian.net/browse/MM-43653

```release-note
NONE
```
Этот коммит содержится в:
Agniva De Sarker
2022-04-22 20:17:25 +05:30
коммит произвёл GitHub
родитель 92c5c256ef
Коммит 0b9f8ef284
2 изменённых файлов: 12 добавлений и 5 удалений

Просмотреть файл

@@ -78,7 +78,7 @@ func (s SqlSystemStore) SaveOrUpdateWithWarnMetricHandling(system *model.System)
}
func (s SqlSystemStore) Update(system *model.System) error {
query := "UPDATE Systems SET Name=:Name, Value=:Value"
query := "UPDATE Systems SET Value=:Value WHERE Name=:Name"
if _, err := s.GetMasterX().NamedExec(query, system); err != nil {
return errors.Wrapf(err, "failed to update system property with name=%s", system.Name)
}

Просмотреть файл

@@ -30,18 +30,25 @@ func testSystemStore(t *testing.T, ss store.Store) {
err := ss.System().Save(system)
require.NoError(t, err)
systems, _ := ss.System().Get()
system2 := &model.System{Name: model.NewId(), Value: "value2"}
err = ss.System().Save(system2)
require.NoError(t, err)
systems, err := ss.System().Get()
require.NoError(t, err)
require.Equal(t, system.Value, systems[system.Name])
system.Value = "value2"
system.Value = "value1"
err = ss.System().Update(system)
require.NoError(t, err)
systems2, _ := ss.System().Get()
systems2, err := ss.System().Get()
require.NoError(t, err)
require.Equal(t, system.Value, systems2[system.Name])
require.Equal(t, system2.Value, systems2[system2.Name])
rsystem, _ := ss.System().GetByName(system.Name)
rsystem, err := ss.System().GetByName(system.Name)
require.NoError(t, err)
require.Equal(t, system.Value, rsystem.Value)
}