List text measurement types

This commit is contained in:
Matthew Dillon 2014-11-26 22:51:09 -09:00
parent b1dad9bfbd
commit e368426aad
9 changed files with 152 additions and 0 deletions

View file

@ -34,3 +34,15 @@ func (s *textMeasurementTypesStore) Create(text_measurement_type *models.TextMea
}
return true, nil
}
func (s *textMeasurementTypesStore) List(opt *models.TextMeasurementTypeListOptions) ([]*models.TextMeasurementType, error) {
if opt == nil {
opt = &models.TextMeasurementTypeListOptions{}
}
var text_measurement_types []*models.TextMeasurementType
err := s.dbh.Select(&text_measurement_types, `SELECT * FROM text_measurement_types LIMIT $1 OFFSET $2;`, opt.PerPageOrDefault(), opt.Offset())
if err != nil {
return nil, err
}
return text_measurement_types, nil
}

View file

@ -62,3 +62,26 @@ func TestTextMeasurementTypesStore_Create_db(t *testing.T) {
t.Error("want nonzero text_measurement_type.Id after submitting")
}
}
func TestTextMeasurementTypesStore_List_db(t *testing.T) {
tx, _ := DB.Begin()
defer tx.Rollback()
want_text_measurement_type := insertTextMeasurementType(t, tx)
want := []*models.TextMeasurementType{want_text_measurement_type}
d := NewDatastore(tx)
text_measurement_types, err := d.TextMeasurementTypes.List(&models.TextMeasurementTypeListOptions{ListOptions: models.ListOptions{Page: 1, PerPage: 10}})
if err != nil {
t.Fatal(err)
}
for i := range want {
normalizeTime(&want[i].CreatedAt, &want[i].UpdatedAt, &want[i].DeletedAt)
normalizeTime(&text_measurement_types[i].CreatedAt, &text_measurement_types[i].UpdatedAt, &text_measurement_types[i].DeletedAt)
}
if !reflect.DeepEqual(text_measurement_types, want) {
t.Errorf("got text_measurement_types %+v, want %+v", text_measurement_types, want)
}
}