From aaa41535f8ac9656d0cd399aeedf58de9b374b65 Mon Sep 17 00:00:00 2001 From: Harrison Healey Date: Fri, 9 Dec 2016 18:43:03 -0500 Subject: PLT-3736 Fixed duplicated create_direct api calls not returning the existing channel (#4745) * Fixed duplicated create_direct api calls not returning the existing channel * Added unit tests for duplicated create_direct api calls --- store/sql_channel_store_test.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'store/sql_channel_store_test.go') diff --git a/store/sql_channel_store_test.go b/store/sql_channel_store_test.go index 9b77639b0..d4bcf6b26 100644 --- a/store/sql_channel_store_test.go +++ b/store/sql_channel_store_test.go @@ -88,6 +88,23 @@ func TestChannelStoreSaveDirectChannel(t *testing.T) { t.Fatal("shouldn't be able to update from save") } + // Attempt to save a direct channel that already exists + o1a := model.Channel{ + TeamId: o1.TeamId, + DisplayName: o1.DisplayName, + Name: o1.Name, + Type: o1.Type, + } + + if result := <-store.Channel().SaveDirectChannel(&o1a, &m1, &m2); result.Err == nil { + t.Fatal("should've failed to save a duplicate direct channel") + } else if result.Err.Id != CHANNEL_EXISTS_ERROR { + t.Fatal("should've returned CHANNEL_EXISTS_ERROR") + } else if returned := result.Data.(*model.Channel); returned.Id != o1.Id { + t.Fatal("should've returned original channel when saving a duplicate direct channel") + } + + // Attempt to save a non-direct channel o1.Id = "" o1.Name = "a" + model.NewId() + "b" o1.Type = model.CHANNEL_OPEN -- cgit v1.2.3-1-g7c22