diff --git a/pkg/items/dummy.go b/pkg/items/dummy.go
deleted file mode 100644
index 206a0802b079efc08741dd54513a29d69f4c28a6..0000000000000000000000000000000000000000
--- a/pkg/items/dummy.go
+++ /dev/null
@@ -1,38 +0,0 @@
-package items
-
-import (
-	"context"
-)
-
-type FindResultDummy struct {
-	Items []*Item
-	Total int
-	Error error
-}
-type Dummy struct {
-	Items
-	FindResult *FindResultDummy
-}
-
-func (d *Dummy) Find(_ context.Context, _, _, _ string, _ *Filter, _ ...*FindOptions) ([]*Item, int, error) {
-	return d.FindResult.Items, d.FindResult.Total, d.FindResult.Error
-}
-
-type StubFindResult struct {
-	Total int
-}
-
-type Stub struct {
-	Items
-	FindResult *StubFindResult
-}
-
-func (d *Stub) Find(_ context.Context, _, _, _ string, _ *Filter, opts ...*FindOptions) ([]*Item, int, error) {
-	fo := MergeFindOptions(opts...)
-	return make([]*Item, fo.Limit), d.FindResult.Total, nil
-}
-
-func (d *Stub) FindPublished(_ context.Context, _, _, _ string, _ *Filter, opts ...*FindPublishedOptions) ([]*Item, int, error) {
-	fo := MergeFindPublishedOptions(opts...)
-	return make([]*Item, fo.Limit), d.FindResult.Total, nil
-}
diff --git a/pkg/items/pagination_test.go b/pkg/items/pagination_test.go
index c401b21f244325c9c242682c702284d197846677..008b17795cc1c57d4e2dcf6bb3507bee8b3f1646 100644
--- a/pkg/items/pagination_test.go
+++ b/pkg/items/pagination_test.go
@@ -12,7 +12,11 @@ import (
 
 func TestBatchProcessor(t *testing.T) {
 	t.Run("EmptyResults", func(t *testing.T) {
-		itemssvc := &Dummy{FindResult: &FindResultDummy{Items: nil, Total: 0, Error: nil}}
+		itemssvc := &Stub{
+			FindResult: func(req StubFindRequest) StubFindResult {
+				return StubFindResult{Items: nil, Total: 0, Error: nil}
+			},
+		}
 
 		b := &BatchProcessor{
 			Items:        itemssvc,
@@ -35,7 +39,12 @@ func TestBatchProcessor(t *testing.T) {
 	})
 
 	t.Run("With FindOptions", func(t *testing.T) {
-		itemssvc := &Stub{FindResult: &StubFindResult{Total: 1000}}
+		itemssvc := &Stub{
+			FindResult: func(req StubFindRequest) StubFindResult {
+				fo := MergeFindOptions(req.Options...)
+				return StubFindResult{Items: make([]*Item, fo.Limit), Total: 1000, Error: nil}
+			},
+		}
 		b := &BatchProcessor{
 			Items:        itemssvc,
 			SpaceID:      "sp",
@@ -49,20 +58,4 @@ func TestBatchProcessor(t *testing.T) {
 		require.NoError(t, err)
 		assert.Equal(t, 1000/25, counter)
 	})
-
-	t.Run("With FindPublishedOptions", func(t *testing.T) {
-		itemssvc := &Stub{FindResult: &StubFindResult{Total: 60}}
-		b := &BatchProcessor{
-			Items:                itemssvc,
-			SpaceID:              "sp",
-			EnvID:                environments.DefaultEnvironment,
-			CollectionID:         "col",
-			FindPublishedOptions: &FindPublishedOptions{FindOptions: *options.New(0, 20)},
-		}
-
-		var counter int
-		_, err := b.Do(context.Background(), func(batch []*Item) error { counter++; return nil })
-		require.NoError(t, err)
-		assert.Equal(t, 60/20, counter)
-	})
 }
diff --git a/pkg/items/stub.go b/pkg/items/stub.go
new file mode 100644
index 0000000000000000000000000000000000000000..33573514b655a6084f636403a581bad46b130172
--- /dev/null
+++ b/pkg/items/stub.go
@@ -0,0 +1,35 @@
+package items
+
+import (
+	"context"
+)
+
+type StubFindRequest struct {
+	Context                context.Context
+	SpaceID, EnvID, CollID string
+	Filter                 *Filter
+	Options                []*FindOptions
+}
+
+type StubFindResult struct {
+	Items []*Item
+	Total int
+	Error error
+}
+
+type Stub struct {
+	Items
+	FindResult func(req StubFindRequest) StubFindResult
+}
+
+func (d *Stub) Find(ctx context.Context, spaceID, envID, collID string, filter *Filter, opts ...*FindOptions) ([]*Item, int, error) {
+	res := d.FindResult(StubFindRequest{
+		Context: ctx,
+		SpaceID: spaceID,
+		EnvID:   envID,
+		CollID:  collID,
+		Filter:  filter,
+		Options: opts,
+	})
+	return res.Items, res.Total, res.Error
+}