func TestServeTodoJson(t *testing.T) { params := url.Values{} params.Add("repo", mockRepo.GetRepoId()) params.Add("revision", TestRevision) params.Add("fileName", TestFileName) params.Add("lineNumber", strconv.Itoa(TestLineNumber)) request, err := http.NewRequest("GET", "/todo?"+params.Encode(), strings.NewReader("")) if err != nil { t.Error(err) } rw := httptest.NewRecorder() db := dashboard.Dashboard{mockRepos, "", ""} db.ServeTodoJson(rw, request) if rw.Code != http.StatusOK { t.Errorf("Expected a response code of %d, but saw %d, with a body of '%s'", http.StatusOK, rw.Code, rw.Body.String()) return } var returnedTodo repo.TodoDetails err = json.Unmarshal(rw.Body.Bytes(), &returnedTodo) if err != nil { t.Error(err) } if returnedTodo.Id.Revision != mockTodo.Revision || returnedTodo.Id.FileName != mockTodo.FileName || returnedTodo.Id.LineNumber != mockTodo.LineNumber { t.Errorf("Expected %s, but saw %s", mockTodo, returnedTodo) } }
func TestServeTodoJsonNoRepo(t *testing.T) { request, err := http.NewRequest("GET", "/todo", strings.NewReader("")) if err != nil { t.Error(err) } rw := httptest.NewRecorder() db := dashboard.Dashboard{mockRepos, "", ""} db.ServeTodoJson(rw, request) if rw.Code != http.StatusBadRequest { t.Errorf("Expected a response code of %d, but saw %d", http.StatusBadRequest, rw.Code) } }
func TestServeTodoJsonNoRevision(t *testing.T) { params := url.Values{} params.Add("repo", mockRepo.GetRepoId()) request, err := http.NewRequest("GET", "/todo?"+params.Encode(), strings.NewReader("")) if err != nil { t.Error(err) } rw := httptest.NewRecorder() db := dashboard.Dashboard{mockRepos, "", ""} db.ServeTodoJson(rw, request) if rw.Code != http.StatusBadRequest { t.Errorf("Expected a response code of %d, but saw %d", http.StatusBadRequest, rw.Code) } }