Delete an observation

This commit is contained in:
Matthew Dillon 2014-11-21 18:58:07 -09:00
parent b90da728fe
commit 952224e2df
9 changed files with 141 additions and 0 deletions

View file

@ -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
}

View file

@ -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")
}
}