From 6bc81244131b79c264fc9b82c7baa47982d1e79a Mon Sep 17 00:00:00 2001 From: mcrakhman Date: Tue, 29 Nov 2022 19:45:51 +0100 Subject: [PATCH] Add deleter tests --- .../settingsdocument/deleter_test.go | 47 ++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/common/commonspace/settingsdocument/deleter_test.go b/common/commonspace/settingsdocument/deleter_test.go index 90b9cec4..669180d7 100644 --- a/common/commonspace/settingsdocument/deleter_test.go +++ b/common/commonspace/settingsdocument/deleter_test.go @@ -1,7 +1,52 @@ package settingsdocument -import "testing" +import ( + "fmt" + "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/settingsdocument/deletionstate/mock_deletionstate" + "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/storage" + "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/storage/mock_storage" + "github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/treegetter/mock_treegetter" + "github.com/golang/mock/gomock" + "testing" +) func TestDeleter_Delete(t *testing.T) { + ctrl := gomock.NewController(t) + treeGetter := mock_treegetter.NewMockTreeGetter(ctrl) + st := mock_storage.NewMockSpaceStorage(ctrl) + delState := mock_deletionstate.NewMockDeletionState(ctrl) + deleter := newDeleter(st, delState, treeGetter) + + t.Run("deleter delete queued", func(t *testing.T) { + id := "id" + spaceId := "spaceId" + delState.EXPECT().GetQueued().Return([]string{id}) + st.EXPECT().Id().Return(spaceId) + treeGetter.EXPECT().DeleteTree(gomock.Any(), spaceId, id).Return(nil) + delState.EXPECT().Delete(id).Return(nil) + + deleter.Delete() + }) + + t.Run("deleter delete already deleted", func(t *testing.T) { + id := "id" + spaceId := "spaceId" + delState.EXPECT().GetQueued().Return([]string{id}) + st.EXPECT().Id().Return(spaceId) + treeGetter.EXPECT().DeleteTree(gomock.Any(), spaceId, id).Return(storage.ErrTreeStorageAlreadyDeleted) + delState.EXPECT().Delete(id).Return(nil) + + deleter.Delete() + }) + + t.Run("deleter delete error", func(t *testing.T) { + id := "id" + spaceId := "spaceId" + delState.EXPECT().GetQueued().Return([]string{id}) + st.EXPECT().Id().Return(spaceId) + treeGetter.EXPECT().DeleteTree(gomock.Any(), spaceId, id).Return(fmt.Errorf("some error")) + + deleter.Delete() + }) }