@@ -54,10 +54,14 @@ func (s *CollectionTestSuite) TestCreate() {
5454 s .Equal (expected , actual )
5555}
5656
57- func (s * CollectionTestSuite ) TestCreateErrDuplicateKey () {
57+ func (s * CollectionTestSuite ) TestCreateErrDuplicateValue () {
58+ registered := user .RandomPrimitive ()
59+
5860 aggregate := user .RandomPrimitive ()
5961
60- s .NoError (s .sut .Create (aggregate ))
62+ s .NoError (s .sut .Create (registered ))
63+
64+ aggregate .ID = registered .ID
6165
6266 err := s .sut .Create (aggregate )
6367
@@ -67,7 +71,7 @@ func (s *CollectionTestSuite) TestCreateErrDuplicateKey() {
6771
6872 expected := & errors.AlreadyExist {Bubble : & errors.Bubble {
6973 When : actual .When ,
70- Where : "HandleDuplicateKeyError " ,
74+ Where : "HandleErrDuplicateValue " ,
7175 What : "ID already registered" ,
7276 Why : errors.Meta {
7377 "Field" : "ID" ,
@@ -116,6 +120,36 @@ func (s *CollectionTestSuite) TestUpdate() {
116120 s .Equal (expected , actual )
117121}
118122
123+ func (s * CollectionTestSuite ) TestUpdateErrDuplicateValue () {
124+ registered := user .RandomPrimitive ()
125+
126+ aggregate := user .RandomPrimitive ()
127+
128+ s .NoError (s .sut .Create (registered ))
129+
130+ s .NoError (s .sut .Create (aggregate ))
131+
132+ aggregate .Email = registered .Email
133+
134+ err := s .sut .Update (aggregate )
135+
136+ var actual * errors.AlreadyExist
137+
138+ s .ErrorAs (err , & actual )
139+
140+ expected := & errors.AlreadyExist {Bubble : & errors.Bubble {
141+ When : actual .When ,
142+ Where : "HandleErrDuplicateValue" ,
143+ What : "Email already registered" ,
144+ Why : errors.Meta {
145+ "Field" : "Email" ,
146+ },
147+ Who : actual .Who ,
148+ }}
149+
150+ s .EqualError (expected , actual .Error ())
151+ }
152+
119153func (s * CollectionTestSuite ) TestDelete () {
120154 aggregate := user .RandomPrimitive ()
121155
@@ -129,7 +163,21 @@ func (s *CollectionTestSuite) TestDelete() {
129163
130164 _ , err := s .sut .Search (criteria )
131165
132- s .Error (err )
166+ var actual * errors.NotExist
167+
168+ s .ErrorAs (err , & actual )
169+
170+ expected := & errors.NotExist {Bubble : & errors.Bubble {
171+ When : actual .When ,
172+ Where : "HandleErrNotFound" ,
173+ What : fmt .Sprintf ("%s not found" , aggregate .ID .Value ),
174+ Why : errors.Meta {
175+ "Index" : aggregate .ID .Value ,
176+ },
177+ Who : actual .Who ,
178+ }}
179+
180+ s .EqualError (expected , actual .Error ())
133181}
134182
135183func (s * CollectionTestSuite ) TestSearch () {
@@ -148,7 +196,7 @@ func (s *CollectionTestSuite) TestSearch() {
148196 s .Equal (expected , actual )
149197}
150198
151- func (s * CollectionTestSuite ) TestSearchErrDocumentNotFound () {
199+ func (s * CollectionTestSuite ) TestSearchErrNotFound () {
152200 aggregate := user .RandomPrimitive ()
153201
154202 criteria := & repository.SearchCriteria {
@@ -163,7 +211,7 @@ func (s *CollectionTestSuite) TestSearchErrDocumentNotFound() {
163211
164212 expected := & errors.NotExist {Bubble : & errors.Bubble {
165213 When : actual .When ,
166- Where : "HandleDocumentNotFound " ,
214+ Where : "HandleErrNotFound " ,
167215 What : fmt .Sprintf ("%s not found" , aggregate .ID .Value ),
168216 Why : errors.Meta {
169217 "Index" : aggregate .ID .Value ,
0 commit comments