@@ -114,7 +114,6 @@ func TestOwnershipUseCase_UpdateOwnership(t *testing.T) {
114114 testCases := []struct {
115115 name string
116116 inputOwnership * domain.Ownership
117- itemID int
118117 userID string
119118 setupMock func (repo * mock_domain.MockOwnershipRepository )
120119 expectedOwnership * domain.Ownership
@@ -129,7 +128,6 @@ func TestOwnershipUseCase_UpdateOwnership(t *testing.T) {
129128 Rentable : false ,
130129 Memo : "updated memo" ,
131130 },
132- itemID : 1 ,
133131 userID : "owner" ,
134132 setupMock : func (repo * mock_domain.MockOwnershipRepository ) {
135133 repo .EXPECT ().
@@ -153,7 +151,6 @@ func TestOwnershipUseCase_UpdateOwnership(t *testing.T) {
153151 Rentable : true ,
154152 Memo : "memo" ,
155153 },
156- itemID : 1 ,
157154 userID : "owner" ,
158155 setupMock : func (repo * mock_domain.MockOwnershipRepository ) {
159156 repo .EXPECT ().
@@ -164,15 +161,32 @@ func TestOwnershipUseCase_UpdateOwnership(t *testing.T) {
164161 expectedErr : domain .ErrNotFound ,
165162 },
166163 {
167- name : "failure: forbidden" ,
164+ name : "failure: cannot change other user's ownership" ,
165+ inputOwnership : & domain.Ownership {
166+ ID : 1 ,
167+ ItemID : 1 ,
168+ UserID : "owner" ,
169+ Rentable : false ,
170+ Memo : "updated memo" ,
171+ },
172+ userID : "another-user" ,
173+ setupMock : func (repo * mock_domain.MockOwnershipRepository ) {
174+ repo .EXPECT ().
175+ GetByID (1 ).
176+ Return (& domain.Ownership {ID : 1 , ItemID : 1 , UserID : "owner" , Rentable : true , Memo : "before" }, nil ).
177+ Times (1 )
178+ },
179+ expectedErr : ErrForbidden ,
180+ },
181+ {
182+ name : "failure: cannot change other user's ownership, although ownership.userID is matched" ,
168183 inputOwnership : & domain.Ownership {
169184 ID : 1 ,
170185 ItemID : 1 ,
171186 UserID : "owner" ,
172187 Rentable : false ,
173188 Memo : "updated memo" ,
174189 },
175- itemID : 1 ,
176190 userID : "another-user" ,
177191 setupMock : func (repo * mock_domain.MockOwnershipRepository ) {
178192 repo .EXPECT ().
@@ -191,7 +205,6 @@ func TestOwnershipUseCase_UpdateOwnership(t *testing.T) {
191205 Rentable : false ,
192206 Memo : "updated memo" ,
193207 },
194- itemID : 1 ,
195208 userID : "owner" ,
196209 setupMock : func (repo * mock_domain.MockOwnershipRepository ) {
197210 repo .EXPECT ().
@@ -213,7 +226,7 @@ func TestOwnershipUseCase_UpdateOwnership(t *testing.T) {
213226
214227 ownershipUseCase := NewOwnershipUseCase (mockOwnershipRepo )
215228
216- ownership , err := ownershipUseCase .UpdateOwnership (tc .inputOwnership , tc .itemID , tc . userID )
229+ ownership , err := ownershipUseCase .UpdateOwnership (tc .inputOwnership , tc .userID )
217230
218231 assert .Equal (t , tc .expectedOwnership , ownership )
219232 assert .True (t , errors .Is (err , tc .expectedErr ))
0 commit comments