/
feed_test.go
56 lines (39 loc) · 1.1 KB
/
feed_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package feed
import (
"testing"
"github.com/stretchr/testify/assert"
)
type TestFeedProvider struct{}
type TestFeedRetriever struct{}
func (provider *TestFeedProvider) AddSource(source string) {
}
func (provider *TestFeedProvider) DisplayError(errMsg string) {
}
func (retriever *TestFeedRetriever) AddFeed(title, description,
image, link string) {
}
func getFeed(t *testing.T, locale string) {
provider := &TestFeedProvider{}
GetFeed(locale, "all", "", provider)
if assert.NotNil(t, CurrentFeed()) {
assert.NotEqual(t, 0, NumFeedEntries(),
"No feed entries after processing")
}
feed := CurrentFeed()
numBuzzFeedEntries := 0
buzzfeed := feed.Items["BuzzFeed"]
if buzzfeed != nil {
numBuzzFeedEntries = len(buzzfeed)
}
assert.Equal(t, NumFeedEntries()-numBuzzFeedEntries, len(feed.Items["all"]),
"All feed items should be equal to total entries minus BuzzFeed entries")
for _, entry := range feed.Items["all"] {
assert.NotEmpty(t, entry.Description)
}
}
func TestGetFeed(t *testing.T) {
locales := []string{"en_US", "fa_IR", "invalid"}
for _, l := range locales {
getFeed(t, l)
}
}