Migrate tests from "store/storetest/emoji_store.go" to use tes… (#12913)

Этот коммит содержится в:
Shobhit Gupta
2019-11-06 03:37:36 -08:00
коммит произвёл Ben Schumacher
родитель 516017d3c9
Коммит a85c653f87

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

@@ -30,33 +30,26 @@ func testEmojiSaveDelete(t *testing.T, ss store.Store) {
Name: model.NewId(), Name: model.NewId(),
} }
if _, err := ss.Emoji().Save(emoji1); err != nil { _, err := ss.Emoji().Save(emoji1)
t.Fatal(err) require.Nil(t, err)
}
if len(emoji1.Id) != 26 { assert.Len(t, emoji1.Id, 26, "should've set id for emoji")
t.Fatal("should've set id for emoji")
}
emoji2 := model.Emoji{ emoji2 := model.Emoji{
CreatorId: model.NewId(), CreatorId: model.NewId(),
Name: emoji1.Name, Name: emoji1.Name,
} }
if _, err := ss.Emoji().Save(&emoji2); err == nil { _, err = ss.Emoji().Save(&emoji2)
t.Fatal("shouldn't be able to save emoji with duplicate name") require.NotNil(t, err, "shouldn't be able to save emoji with duplicate name")
}
if err := ss.Emoji().Delete(emoji1, time.Now().Unix()); err != nil { err = ss.Emoji().Delete(emoji1, time.Now().Unix())
t.Fatal(err) require.Nil(t, err)
}
if _, err := ss.Emoji().Save(&emoji2); err != nil { _, err = ss.Emoji().Save(&emoji2)
t.Fatal("should be able to save emoji with duplicate name now that original has been deleted", err) require.Nil(t, err, "should be able to save emoji with duplicate name now that original has been deleted")
}
if err := ss.Emoji().Delete(&emoji2, time.Now().Unix()+1); err != nil { err = ss.Emoji().Delete(&emoji2, time.Now().Unix()+1)
t.Fatal(err) require.Nil(t, err)
}
} }
func testEmojiGet(t *testing.T, ss store.Store) { func testEmojiGet(t *testing.T, ss store.Store) {
@@ -88,15 +81,13 @@ func testEmojiGet(t *testing.T, ss store.Store) {
}() }()
for _, emoji := range emojis { for _, emoji := range emojis {
if _, err := ss.Emoji().Get(emoji.Id, false); err != nil { _, err := ss.Emoji().Get(emoji.Id, false)
t.Fatalf("failed to get emoji with id %v: %v", emoji.Id, err) require.Nilf(t, err, "failed to get emoji with id %v", emoji.Id)
}
} }
for _, emoji := range emojis { for _, emoji := range emojis {
if _, err := ss.Emoji().Get(emoji.Id, true); err != nil { _, err := ss.Emoji().Get(emoji.Id, true)
t.Fatalf("failed to get emoji with id %v: %v", emoji.Id, err) require.Nilf(t, err, "failed to get emoji with id %v", emoji.Id)
}
} }
} }
@@ -184,9 +175,8 @@ func testEmojiGetByName(t *testing.T, ss store.Store) {
}() }()
for _, emoji := range emojis { for _, emoji := range emojis {
if _, err := ss.Emoji().GetByName(emoji.Name, true); err != nil { _, err := ss.Emoji().GetByName(emoji.Name, true)
t.Fatalf("failed to get emoji with name %v: %v", emoji.Name, err) require.Nilf(t, err, "failed to get emoji with name %v", emoji.Name)
}
} }
} }
@@ -219,35 +209,28 @@ func testEmojiGetMultipleByName(t *testing.T, ss store.Store) {
}() }()
t.Run("one emoji", func(t *testing.T) { t.Run("one emoji", func(t *testing.T) {
if received, err := ss.Emoji().GetMultipleByName([]string{emojis[0].Name}); err != nil { received, err := ss.Emoji().GetMultipleByName([]string{emojis[0].Name})
t.Fatal("could not get emoji", err) require.Nilf(t, err, "could not get emoji")
} else if len(received) != 1 || *received[0] != emojis[0] { require.Len(t, received, 1, "got incorrect emoji")
t.Fatal("got incorrect emoji") require.Equal(t, *received[0], emojis[0], "got incorrect emoji")
}
}) })
t.Run("multiple emojis", func(t *testing.T) { t.Run("multiple emojis", func(t *testing.T) {
if received, err := ss.Emoji().GetMultipleByName([]string{emojis[0].Name, emojis[1].Name, emojis[2].Name}); err != nil { received, err := ss.Emoji().GetMultipleByName([]string{emojis[0].Name, emojis[1].Name, emojis[2].Name})
t.Fatal("could not get emojis", err) require.Nil(t, err, "could not get emojis")
} else if len(received) != 3 { require.Len(t, received, 3, "got incorrect emojis")
t.Fatal("got incorrect emojis")
}
}) })
t.Run("one nonexistent emoji", func(t *testing.T) { t.Run("one nonexistent emoji", func(t *testing.T) {
if received, err := ss.Emoji().GetMultipleByName([]string{"ab"}); err != nil { received, err := ss.Emoji().GetMultipleByName([]string{"ab"})
t.Fatal("could not get emoji", err) require.Nilf(t, err, "%v, could not get emoji", err)
} else if len(received) != 0 { require.Len(t, received, 0, "got incorrect emoji")
t.Fatal("got incorrect emoji")
}
}) })
t.Run("multiple emojis with nonexistent names", func(t *testing.T) { t.Run("multiple emojis with nonexistent names", func(t *testing.T) {
if received, err := ss.Emoji().GetMultipleByName([]string{emojis[0].Name, emojis[1].Name, emojis[2].Name, "abcd", "1234"}); err != nil { received, err := ss.Emoji().GetMultipleByName([]string{emojis[0].Name, emojis[1].Name, emojis[2].Name, "abcd", "1234"})
t.Fatal("could not get emojis", err) require.Nil(t, err, "could not get emojis")
} else if len(received) != 3 { require.Len(t, received, 3, "got incorrect emojis")
t.Fatal("got incorrect emojis")
}
}) })
} }
@@ -292,9 +275,7 @@ func testEmojiGetList(t *testing.T, ss store.Store) {
} }
} }
if !found { require.Truef(t, found, "failed to get emoji with id %v", emoji.Id)
t.Fatalf("failed to get emoji with id %v", emoji.Id)
}
} }
} }
@@ -347,38 +328,34 @@ func testEmojiSearch(t *testing.T, ss store.Store) {
shouldFind := []bool{true, false, false, false} shouldFind := []bool{true, false, false, false}
if result, err := ss.Emoji().Search("blargh", true, 100); err != nil { result, err := ss.Emoji().Search("blargh", true, 100)
t.Fatal(err) require.Nil(t, err)
} else { for i, emoji := range emojis {
for i, emoji := range emojis { found := false
found := false
for _, savedEmoji := range result { for _, savedEmoji := range result {
if emoji.Id == savedEmoji.Id { if emoji.Id == savedEmoji.Id {
found = true found = true
break break
}
} }
assert.Equal(t, shouldFind[i], found, emoji.Name)
} }
assert.Equal(t, shouldFind[i], found, emoji.Name)
} }
shouldFind = []bool{true, true, true, false} shouldFind = []bool{true, true, true, false}
if result, err := ss.Emoji().Search("blargh", false, 100); err != nil { result, err = ss.Emoji().Search("blargh", false, 100)
t.Fatal(err) require.Nil(t, err)
} else { for i, emoji := range emojis {
for i, emoji := range emojis { found := false
found := false
for _, savedEmoji := range result { for _, savedEmoji := range result {
if emoji.Id == savedEmoji.Id { if emoji.Id == savedEmoji.Id {
found = true found = true
break break
}
} }
assert.Equal(t, shouldFind[i], found, emoji.Name)
} }
assert.Equal(t, shouldFind[i], found, emoji.Name)
} }
} }