Measurements changes for ember data.
This commit is contained in:
		
							parent
							
								
									a03a9837a6
								
							
						
					
					
						commit
						1c79f5561a
					
				
					 3 changed files with 27 additions and 18 deletions
				
			
		|  | @ -20,17 +20,17 @@ func serveMeasurement(w http.ResponseWriter, r *http.Request) error { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	return writeJSON(w, measurement) | 	return writeJSON(w, models.MeasurementJSON{Measurement: measurement}) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func serveCreateMeasurement(w http.ResponseWriter, r *http.Request) error { | func serveCreateMeasurement(w http.ResponseWriter, r *http.Request) error { | ||||||
| 	var measurement models.Measurement | 	var measurement models.MeasurementJSON | ||||||
| 	err := json.NewDecoder(r.Body).Decode(&measurement) | 	err := json.NewDecoder(r.Body).Decode(&measurement) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	created, err := store.Measurements.Create(&measurement) | 	created, err := store.Measurements.Create(measurement.Measurement) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
|  | @ -55,18 +55,18 @@ func serveMeasurementList(w http.ResponseWriter, r *http.Request) error { | ||||||
| 		measurements = []*models.Measurement{} | 		measurements = []*models.Measurement{} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	return writeJSON(w, measurements) | 	return writeJSON(w, models.MeasurementsJSON{Measurements: measurements}) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func serveUpdateMeasurement(w http.ResponseWriter, r *http.Request) error { | func serveUpdateMeasurement(w http.ResponseWriter, r *http.Request) error { | ||||||
| 	id, _ := strconv.ParseInt(mux.Vars(r)["Id"], 10, 0) | 	id, _ := strconv.ParseInt(mux.Vars(r)["Id"], 10, 0) | ||||||
| 	var measurement models.Measurement | 	var measurement models.MeasurementJSON | ||||||
| 	err := json.NewDecoder(r.Body).Decode(&measurement) | 	err := json.NewDecoder(r.Body).Decode(&measurement) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	updated, err := store.Measurements.Update(id, &measurement) | 	updated, err := store.Measurements.Update(id, measurement.Measurement) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
|  | @ -88,7 +88,7 @@ func serveDeleteMeasurement(w http.ResponseWriter, r *http.Request) error { | ||||||
| 		w.WriteHeader(http.StatusOK) | 		w.WriteHeader(http.StatusOK) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	return writeJSON(w, &models.Measurement{}) | 	return writeJSON(w, nil) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func serveSubrouterMeasurementsList(w http.ResponseWriter, r *http.Request) error { | func serveSubrouterMeasurementsList(w http.ResponseWriter, r *http.Request) error { | ||||||
|  | @ -107,5 +107,5 @@ func serveSubrouterMeasurementsList(w http.ResponseWriter, r *http.Request) erro | ||||||
| 		measurements = []*models.Measurement{} | 		measurements = []*models.Measurement{} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	return writeJSON(w, measurements) | 	return writeJSON(w, models.MeasurementsJSON{Measurements: measurements}) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -30,6 +30,14 @@ type Measurement struct { | ||||||
| 	UpdatedAt             time.Time   `db:"updated_at" json:"updatedAt"` | 	UpdatedAt             time.Time   `db:"updated_at" json:"updatedAt"` | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | type MeasurementJSON struct { | ||||||
|  | 	Measurement *Measurement `json:"measurement"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | type MeasurementsJSON struct { | ||||||
|  | 	Measurements []*Measurement `json:"measurements"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
| func (m *Measurement) String() string { | func (m *Measurement) String() string { | ||||||
| 	return fmt.Sprintf("%v", *m) | 	return fmt.Sprintf("%v", *m) | ||||||
| } | } | ||||||
|  | @ -78,13 +86,13 @@ func (s *measurementsService) Get(id int64) (*Measurement, error) { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	var measurement *Measurement | 	var measurement *MeasurementJSON | ||||||
| 	_, err = s.client.Do(req, &measurement) | 	_, err = s.client.Do(req, &measurement) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	return measurement, nil | 	return measurement.Measurement, nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (s *measurementsService) Create(measurement *Measurement) (bool, error) { | func (s *measurementsService) Create(measurement *Measurement) (bool, error) { | ||||||
|  | @ -93,7 +101,7 @@ func (s *measurementsService) Create(measurement *Measurement) (bool, error) { | ||||||
| 		return false, err | 		return false, err | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	req, err := s.client.NewRequest("POST", url.String(), measurement) | 	req, err := s.client.NewRequest("POST", url.String(), MeasurementJSON{Measurement: measurement}) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return false, err | 		return false, err | ||||||
| 	} | 	} | ||||||
|  | @ -122,13 +130,13 @@ func (s *measurementsService) List(opt *MeasurementListOptions) ([]*Measurement, | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	var measurements []*Measurement | 	var measurements *MeasurementsJSON | ||||||
| 	_, err = s.client.Do(req, &measurements) | 	_, err = s.client.Do(req, &measurements) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		return nil, err | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	return measurements, nil | 	return measurements.Measurements, nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (s *measurementsService) Update(id int64, measurement *Measurement) (bool, error) { | func (s *measurementsService) Update(id int64, measurement *Measurement) (bool, error) { | ||||||
|  | @ -139,7 +147,7 @@ func (s *measurementsService) Update(id int64, measurement *Measurement) (bool, | ||||||
| 		return false, err | 		return false, err | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	req, err := s.client.NewRequest("PUT", url.String(), measurement) | 	req, err := s.client.NewRequest("PUT", url.String(), MeasurementJSON{Measurement: measurement}) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return false, err | 		return false, err | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | @ -30,7 +30,7 @@ func TestMeasurementService_Get(t *testing.T) { | ||||||
| 		called = true | 		called = true | ||||||
| 		testMethod(t, r, "GET") | 		testMethod(t, r, "GET") | ||||||
| 
 | 
 | ||||||
| 		writeJSON(w, want) | 		writeJSON(w, MeasurementJSON{Measurement: want}) | ||||||
| 	}) | 	}) | ||||||
| 
 | 
 | ||||||
| 	measurement, err := client.Measurements.Get(want.Id) | 	measurement, err := client.Measurements.Get(want.Id) | ||||||
|  | @ -59,7 +59,7 @@ func TestMeasurementService_Create(t *testing.T) { | ||||||
| 	mux.HandleFunc(urlPath(t, router.CreateMeasurement, nil), func(w http.ResponseWriter, r *http.Request) { | 	mux.HandleFunc(urlPath(t, router.CreateMeasurement, nil), func(w http.ResponseWriter, r *http.Request) { | ||||||
| 		called = true | 		called = true | ||||||
| 		testMethod(t, r, "POST") | 		testMethod(t, r, "POST") | ||||||
| 		testBody(t, r, `{"id":1,"strainId":1,"characteristicId":1,"textMeasurementTypeId":null,"txtValue":null,"numValue":1.23,"confidenceInterval":null,"unitTypeId":1,"notes":"a note","testMethodId":null,"createdAt":"0001-01-01T00:00:00Z","updatedAt":"0001-01-01T00:00:00Z"}`+"\n") | 		testBody(t, r, `{"measurement":{"id":1,"strainId":1,"characteristicId":1,"textMeasurementTypeId":null,"txtValue":null,"numValue":1.23,"confidenceInterval":null,"unitTypeId":1,"notes":"a note","testMethodId":null,"createdAt":"0001-01-01T00:00:00Z","updatedAt":"0001-01-01T00:00:00Z"}}`+"\n") | ||||||
| 
 | 
 | ||||||
| 		w.WriteHeader(http.StatusCreated) | 		w.WriteHeader(http.StatusCreated) | ||||||
| 		writeJSON(w, want) | 		writeJSON(w, want) | ||||||
|  | @ -97,7 +97,7 @@ func TestMeasurementService_List(t *testing.T) { | ||||||
| 		testMethod(t, r, "GET") | 		testMethod(t, r, "GET") | ||||||
| 		testFormValues(t, r, values{}) | 		testFormValues(t, r, values{}) | ||||||
| 
 | 
 | ||||||
| 		writeJSON(w, want) | 		writeJSON(w, MeasurementsJSON{Measurements: want}) | ||||||
| 	}) | 	}) | ||||||
| 
 | 
 | ||||||
| 	measurements, err := client.Measurements.List(nil) | 	measurements, err := client.Measurements.List(nil) | ||||||
|  | @ -128,7 +128,7 @@ func TestMeasurementService_Update(t *testing.T) { | ||||||
| 	mux.HandleFunc(urlPath(t, router.UpdateMeasurement, map[string]string{"Id": "1"}), func(w http.ResponseWriter, r *http.Request) { | 	mux.HandleFunc(urlPath(t, router.UpdateMeasurement, map[string]string{"Id": "1"}), func(w http.ResponseWriter, r *http.Request) { | ||||||
| 		called = true | 		called = true | ||||||
| 		testMethod(t, r, "PUT") | 		testMethod(t, r, "PUT") | ||||||
| 		testBody(t, r, `{"id":1,"strainId":1,"characteristicId":1,"textMeasurementTypeId":null,"txtValue":null,"numValue":4.56,"confidenceInterval":null,"unitTypeId":1,"notes":"a note","testMethodId":null,"createdAt":"0001-01-01T00:00:00Z","updatedAt":"0001-01-01T00:00:00Z"}`+"\n") | 		testBody(t, r, `{"measurement":{"id":1,"strainId":1,"characteristicId":1,"textMeasurementTypeId":null,"txtValue":null,"numValue":4.56,"confidenceInterval":null,"unitTypeId":1,"notes":"a note","testMethodId":null,"createdAt":"0001-01-01T00:00:00Z","updatedAt":"0001-01-01T00:00:00Z"}}`+"\n") | ||||||
| 		w.WriteHeader(http.StatusOK) | 		w.WriteHeader(http.StatusOK) | ||||||
| 		writeJSON(w, want) | 		writeJSON(w, want) | ||||||
| 	}) | 	}) | ||||||
|  | @ -159,6 +159,7 @@ func TestMeasurementService_Delete(t *testing.T) { | ||||||
| 	mux.HandleFunc(urlPath(t, router.DeleteMeasurement, map[string]string{"Id": "1"}), func(w http.ResponseWriter, r *http.Request) { | 	mux.HandleFunc(urlPath(t, router.DeleteMeasurement, map[string]string{"Id": "1"}), func(w http.ResponseWriter, r *http.Request) { | ||||||
| 		called = true | 		called = true | ||||||
| 		testMethod(t, r, "DELETE") | 		testMethod(t, r, "DELETE") | ||||||
|  | 		testBody(t, r, "") | ||||||
| 
 | 
 | ||||||
| 		w.WriteHeader(http.StatusOK) | 		w.WriteHeader(http.StatusOK) | ||||||
| 		writeJSON(w, want) | 		writeJSON(w, want) | ||||||
|  |  | ||||||
		Reference in a new issue
	
	 Matthew Dillon
						Matthew Dillon