summaryrefslogtreecommitdiffstats
path: root/model
diff options
context:
space:
mode:
Diffstat (limited to 'model')
-rw-r--r--model/channel.go5
-rw-r--r--model/channel_test.go9
2 files changed, 14 insertions, 0 deletions
diff --git a/model/channel.go b/model/channel.go
index 50d487557..48abd1070 100644
--- a/model/channel.go
+++ b/model/channel.go
@@ -53,6 +53,11 @@ type ChannelPatch struct {
Purpose *string `json:"purpose"`
}
+func (o *Channel) DeepCopy() *Channel {
+ copy := *o
+ return &copy
+}
+
func (o *Channel) ToJson() string {
b, err := json.Marshal(o)
if err != nil {
diff --git a/model/channel_test.go b/model/channel_test.go
index ee6a70b0d..ed6aed919 100644
--- a/model/channel_test.go
+++ b/model/channel_test.go
@@ -27,6 +27,15 @@ func TestChannelJson(t *testing.T) {
}
}
+func TestChannelCopy(t *testing.T) {
+ o := Channel{Id: NewId(), Name: NewId()}
+ ro := o.DeepCopy()
+
+ if o.Id != ro.Id {
+ t.Fatal("Ids do not match")
+ }
+}
+
func TestChannelPatch(t *testing.T) {
p := &ChannelPatch{Name: new(string), DisplayName: new(string), Header: new(string), Purpose: new(string)}
*p.Name = NewId()