MCPcopy Create free account
hub / github.com/devtron-labs/devtron / TestUpdate

Function TestUpdate

pkg/genericNotes/tests/GenericNoteService_test.go:140–257  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

138}
139
140func TestUpdate(t *testing.T) {
141 req := &repository3.GenericNote{
142 Identifier: testAppId1,
143 IdentifierType: repository3.AppType,
144 Description: "test-description",
145 AuditLog: sql.AuditLog{
146 UpdatedBy: userId1,
147 },
148 }
149
150 t.Run("Test Error Case, error in starting transaction", func(tt *testing.T) {
151 genericNoteSvc, mockedNoteRepo, _, _ := initGenericNoteService(t)
152 tx := &pg.Tx{}
153
154 testErr := errors.New("start tnx error")
155 mockedNoteRepo.On("StartTx").Return(tx, testErr)
156 mockedNoteRepo.On("RollbackTx", tx).Return(errors.New("rollback error"))
157 res, err := genericNoteSvc.Update(req, userId1)
158 testErrorAssertions(tt, res, testErr.Error(), err)
159 })
160
161 t.Run("Test Error Case, error in starting transaction", func(tt *testing.T) {
162 genericNoteSvc, mockedNoteRepo, _, _ := initGenericNoteService(t)
163 tx := &pg.Tx{}
164
165 testErr := errors.New("find note by identifier error")
166 mockedNoteRepo.On("StartTx").Return(tx, nil)
167 mockedNoteRepo.On("RollbackTx", tx).Return(nil)
168 dbModel := &repository3.GenericNote{}
169 mockedNoteRepo.On("FindByIdentifier", req.Identifier, req.IdentifierType).Return(dbModel, testErr)
170 res, err := genericNoteSvc.Update(req, userId1)
171 testErrorAssertions(tt, res, testErr.Error(), err)
172 })
173
174 t.Run("Test Error Case, error updating generic note data", func(tt *testing.T) {
175 genericNoteSvc, mockedNoteRepo, _, _ := initGenericNoteService(t)
176 tx := &pg.Tx{}
177 testErr := errors.New("note update error")
178 mockedNoteRepo.On("StartTx").Return(tx, nil)
179 mockedNoteRepo.On("RollbackTx", tx).Return(nil)
180 dbModel := &repository3.GenericNote{}
181 mockedNoteRepo.On("FindByIdentifier", req.Identifier, req.IdentifierType).Return(dbModel, nil)
182 mockedNoteRepo.On("Update", tx, dbModel).Return(testErr)
183 res, err := genericNoteSvc.Update(req, userId1)
184 testErrorAssertions(tt, res, testErr.Error(), err)
185 })
186
187 t.Run("Test Error Case, error in saving generic_note update audit data", func(tt *testing.T) {
188 genericNoteSvc, mockedNoteRepo, mockedHistorySvc, _ := initGenericNoteService(t)
189 tx := &pg.Tx{}
190 testErr := errors.New("save generic_note update audit error")
191 mockedNoteRepo.On("StartTx").Return(tx, nil)
192 mockedNoteRepo.On("RollbackTx", tx).Return(nil)
193 dbModel := &repository3.GenericNote{}
194 mockedNoteRepo.On("FindByIdentifier", req.Identifier, req.IdentifierType).Return(dbModel, nil)
195 mockedNoteRepo.On("Update", tx, dbModel).Return(nil)
196 mockedHistorySvc.On("Save", tx, mock.AnythingOfType("*genericNotes.GenericNoteHistoryBean"), userId1).Return(nil, testErr)
197

Callers

nothing calls this directly

Calls 4

initGenericNoteServiceFunction · 0.85
testErrorAssertionsFunction · 0.85
UpdateMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected