From 8dbf411b36098dc0c8f7c713b4c8ab9837ee9960 Mon Sep 17 00:00:00 2001 From: Henrik Hautakoski Date: Sun, 7 Jan 2024 19:11:47 +0100 Subject: [PATCH] api/channel.go: adding TableDelta channel --- api/channel.go | 15 +++++++++++++++ api/channel_test.go | 18 ++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/api/channel.go b/api/channel.go index a843f54..b722037 100644 --- a/api/channel.go +++ b/api/channel.go @@ -66,3 +66,18 @@ func (a ActionChannel) Channel() Channel { return ch } + +// Table deltas +type TableDeltaChannel struct { + Name string +} + +func (td TableDeltaChannel) Channel() Channel { + ch := Channel{"tabledeltas"} + + if len(td.Name) > 0 { + ch.Append("name", td.Name) + } + + return ch +} diff --git a/api/channel_test.go b/api/channel_test.go index 58bc597..caaf4e7 100644 --- a/api/channel_test.go +++ b/api/channel_test.go @@ -129,3 +129,21 @@ func TestAction_Channel(t *testing.T) { }) } } + +func TestTableDelta_Channel(t *testing.T) { + tests := []struct { + name string + action TableDeltaChannel + want Channel + }{ + {"Empty", TableDeltaChannel{}, Channel{"tabledeltas"}}, + {"Contract", TableDeltaChannel{Name: "delta_name"}, Channel{"tabledeltas", "name", "delta_name"}}, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + if got := tt.action.Channel(); !got.Is(tt.want) { + t.Errorf("TableDeltaChannel.String() = %v, want %v", got, tt.want) + } + }) + } +}