Delete an observation
This commit is contained in:
parent
b90da728fe
commit
952224e2df
9 changed files with 141 additions and 0 deletions
|
@ -69,3 +69,19 @@ func (s *observationsStore) Update(id int64, observation *models.Observation) (b
|
|||
|
||||
return true, nil
|
||||
}
|
||||
|
||||
func (s *observationsStore) Delete(id int64) (bool, error) {
|
||||
observation, err := s.Get(id)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
|
||||
deleted, err := s.dbh.Delete(observation)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
if deleted == 0 {
|
||||
return false, ErrNoRowsDeleted
|
||||
}
|
||||
return true, nil
|
||||
}
|
||||
|
|
|
@ -108,3 +108,22 @@ func TestObservationsStore_Update_db(t *testing.T) {
|
|||
t.Error("!updated")
|
||||
}
|
||||
}
|
||||
|
||||
func TestObservationsStore_Delete_db(t *testing.T) {
|
||||
tx, _ := DB.Begin()
|
||||
defer tx.Rollback()
|
||||
|
||||
observation := insertObservation(t, tx)
|
||||
|
||||
d := NewDatastore(tx)
|
||||
|
||||
// Delete it
|
||||
deleted, err := d.Observations.Delete(observation.Id)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if !deleted {
|
||||
t.Error("!delete")
|
||||
}
|
||||
}
|
||||
|
|
Reference in a new issue