Skip to content

Commit 6d9e055

Browse files
Remove reference usage
1 parent 79c042d commit 6d9e055

File tree

2 files changed

+27
-8
lines changed

2 files changed

+27
-8
lines changed

aggregate/changed.go

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -91,16 +91,14 @@ func (a *Changed) Metadata() metadata.Metadata {
9191
}
9292

9393
// WithMetadata Returns new instance of the change with key and value added to metadata
94-
func (a *Changed) WithMetadata(key string, value interface{}) goengine.Message {
95-
newAggregateChanged := *a
96-
newAggregateChanged.metadata = metadata.WithValue(a.metadata, key, value)
94+
func (a Changed) WithMetadata(key string, value interface{}) goengine.Message {
95+
a.metadata = metadata.WithValue(a.metadata, key, value)
9796

98-
return &newAggregateChanged
97+
return &a
9998
}
10099

101-
func (a *Changed) withVersion(version uint) *Changed {
102-
newAggregateChanged := *a
103-
newAggregateChanged.version = version
100+
func (a Changed) withVersion(version uint) *Changed {
101+
a.version = version
104102

105-
return &newAggregateChanged
103+
return &a
106104
}

aggregate/changed_test.go

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import (
66
"testing"
77
"time"
88

9+
"github.com/stretchr/testify/require"
10+
911
"github.com/hellofresh/goengine"
1012
"github.com/hellofresh/goengine/aggregate"
1113
"github.com/hellofresh/goengine/metadata"
@@ -127,3 +129,22 @@ func TestReconstituteChange(t *testing.T) {
127129
}
128130
})
129131
}
132+
133+
func TestChanged_WithMetadata(t *testing.T) {
134+
expectedMetadata := metadata.WithValue(metadata.New(), "test", "value")
135+
msg, err := aggregate.ReconstituteChange(
136+
aggregate.GenerateID(),
137+
goengine.GenerateUUID(),
138+
struct{}{},
139+
metadata.New(),
140+
time.Now(),
141+
1,
142+
)
143+
require.NoError(t, err)
144+
145+
msgWithTest := msg.WithMetadata("test", "value")
146+
147+
assert.Equal(t, expectedMetadata, msgWithTest.Metadata())
148+
assert.Equal(t, metadata.New(), msg.Metadata(), "Original metadata should not be changed")
149+
assert.NotEqual(t, msg, msgWithTest, "Origional changed message should not be changed")
150+
}

0 commit comments

Comments
 (0)