Adding some testing around updating notes
This commit is contained in:
@@ -11,18 +11,36 @@ type mockNoteStore struct {
|
||||
}
|
||||
|
||||
func (m *mockNoteStore) SaveNote(note models.Note) (models.Note, error) {
|
||||
note.ID = len(m.Notes) + 1
|
||||
m.Notes = append(m.Notes, note)
|
||||
// Save a note
|
||||
if note.ID == 0 {
|
||||
note.ID = len(m.Notes) + 1
|
||||
m.Notes = append(m.Notes, note)
|
||||
return note, nil
|
||||
}
|
||||
// Update a note
|
||||
_, index, err := m.getNoteAndIndexByID(note.ID)
|
||||
if err != nil {
|
||||
return models.Note{}, err
|
||||
}
|
||||
m.Notes[index] = note
|
||||
return note, nil
|
||||
}
|
||||
|
||||
func (m *mockNoteStore) GetNoteByID(id int) (models.Note, error) {
|
||||
for _, note := range m.Notes {
|
||||
note, _, err := m.getNoteAndIndexByID(id)
|
||||
if err != nil {
|
||||
return models.Note{}, err
|
||||
}
|
||||
return note, nil
|
||||
}
|
||||
|
||||
func (m *mockNoteStore) getNoteAndIndexByID(id int) (models.Note, int, error) {
|
||||
for i, note := range m.Notes {
|
||||
if note.ID == id {
|
||||
return note, nil
|
||||
return note, i, nil
|
||||
}
|
||||
}
|
||||
return models.Note{}, fmt.Errorf("note with ID %d not found", id)
|
||||
return models.Note{}, -1, fmt.Errorf("note with ID %d not found", id)
|
||||
}
|
||||
|
||||
func (m *mockNoteStore) GetAllNotes() ([]models.Note, error) {
|
||||
|
||||
Reference in New Issue
Block a user