aboutsummaryrefslogtreecommitdiffhomepage
path: root/model/feed_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'model/feed_test.go')
-rw-r--r--model/feed_test.go59
1 files changed, 59 insertions, 0 deletions
diff --git a/model/feed_test.go b/model/feed_test.go
new file mode 100644
index 0000000..138949d
--- /dev/null
+++ b/model/feed_test.go
@@ -0,0 +1,59 @@
+// Copyright 2017 Frédéric Guillot. All rights reserved.
+// Use of this source code is governed by the Apache 2.0
+// license that can be found in the LICENSE file.
+
+package model
+
+import "testing"
+
+func TestMergeFeedTitle(t *testing.T) {
+ feed1 := &Feed{Title: "Feed 1"}
+ feed2 := &Feed{Title: "Feed 2"}
+ feed1.Merge(feed2)
+
+ if feed1.Title != "Feed 2" {
+ t.Fatal(`The title of feed1 should be merged`)
+ }
+
+ feed1 = &Feed{Title: "Feed 1"}
+ feed2 = &Feed{}
+ feed1.Merge(feed2)
+
+ if feed1.Title != "Feed 1" {
+ t.Fatal(`The title of feed1 should not be merged`)
+ }
+
+ feed1 = &Feed{Title: "Feed 1"}
+ feed2 = &Feed{Title: "Feed 1"}
+ feed1.Merge(feed2)
+
+ if feed1.Title != "Feed 1" {
+ t.Fatal(`The title of feed1 should not be changed`)
+ }
+}
+
+func TestMergeFeedCategory(t *testing.T) {
+ feed1 := &Feed{Category: &Category{ID: 222}}
+ feed2 := &Feed{Category: &Category{ID: 333}}
+ feed1.Merge(feed2)
+
+ if feed1.Category.ID != 333 {
+ t.Fatal(`The category of feed1 should be merged`)
+ }
+
+ feed1 = &Feed{Category: &Category{ID: 222}}
+ feed2 = &Feed{}
+ feed1.Merge(feed2)
+
+ if feed1.Category.ID != 222 {
+ t.Fatal(`The category of feed1 should not be merged`)
+ }
+
+ feed1 = &Feed{Category: &Category{ID: 222}}
+ feed2 = &Feed{Category: &Category{ID: 0}}
+ feed1.Merge(feed2)
+
+ if feed1.Category.ID != 222 {
+ t.Fatal(`The category of feed1 should not be merged`)
+ }
+}