Add Purpose as a searchable field (#8067)
* Add Purpose as a searchable field * Add New Index and Remove old for Channels * Include Purpose in FullTextSearch Clause * Move removeIndex for Channels into upgrade.go
Этот коммит содержится в:
коммит произвёл
Harrison Healey
родитель
3e9fe291f1
Коммит
41d2a9f435
@@ -1708,6 +1708,14 @@ func testChannelStoreSearchMore(t *testing.T, ss store.Store) {
|
||||
o8.Type = model.CHANNEL_PRIVATE
|
||||
store.Must(ss.Channel().Save(&o8, -1))
|
||||
|
||||
o9 := model.Channel{}
|
||||
o9.TeamId = o1.TeamId
|
||||
o9.DisplayName = "Channel With Purpose"
|
||||
o9.Purpose = "This can now be searchable!"
|
||||
o9.Name = "with-purpose"
|
||||
o9.Type = model.CHANNEL_OPEN
|
||||
store.Must(ss.Channel().Save(&o9, -1))
|
||||
|
||||
if result := <-ss.Channel().SearchMore(m1.UserId, o1.TeamId, "ChannelA"); result.Err != nil {
|
||||
t.Fatal(result.Err)
|
||||
} else {
|
||||
@@ -1773,6 +1781,19 @@ func testChannelStoreSearchMore(t *testing.T, ss store.Store) {
|
||||
}
|
||||
}
|
||||
|
||||
if result := <-ss.Channel().SearchMore(m1.UserId, o1.TeamId, "now searchable"); result.Err != nil {
|
||||
t.Fatal(result.Err)
|
||||
} else {
|
||||
channels := result.Data.(*model.ChannelList)
|
||||
if len(*channels) != 1 {
|
||||
t.Fatal("should return 1 channel")
|
||||
}
|
||||
|
||||
if (*channels)[0].Name != o9.Name {
|
||||
t.Fatal("wrong channel returned")
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
// Disabling this check as it will fail on PostgreSQL as we have "liberalised" channel matching to deal with
|
||||
// Full-Text Stemming Limitations.
|
||||
@@ -1884,6 +1905,14 @@ func testChannelStoreSearchInTeam(t *testing.T, ss store.Store) {
|
||||
o11.Type = model.CHANNEL_OPEN
|
||||
store.Must(ss.Channel().Save(&o11, -1))
|
||||
|
||||
o12 := model.Channel{}
|
||||
o12.TeamId = o1.TeamId
|
||||
o12.DisplayName = "Channel With Purpose"
|
||||
o12.Purpose = "This can now be searchable!"
|
||||
o12.Name = "with-purpose"
|
||||
o12.Type = model.CHANNEL_OPEN
|
||||
store.Must(ss.Channel().Save(&o12, -1))
|
||||
|
||||
for name, search := range map[string]func(teamId string, term string) store.StoreChannel{
|
||||
"AutocompleteInTeam": ss.Channel().AutocompleteInTeam,
|
||||
"SearchInTeam": ss.Channel().SearchInTeam,
|
||||
@@ -1986,6 +2015,19 @@ func testChannelStoreSearchInTeam(t *testing.T, ss store.Store) {
|
||||
t.Fatal("wrong channel returned")
|
||||
}
|
||||
}
|
||||
|
||||
if result := <-search(o1.TeamId, "now searchable"); result.Err != nil {
|
||||
t.Fatal(result.Err)
|
||||
} else {
|
||||
channels := result.Data.(*model.ChannelList)
|
||||
if len(*channels) != 1 {
|
||||
t.Fatal("should return 1 channel")
|
||||
}
|
||||
|
||||
if (*channels)[0].Name != o12.Name {
|
||||
t.Fatal("wrong channel returned")
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user