github.com/jamiefdhurst/journal@v0.9.2/internal/app/controller/apiv1/list_test.go (about)

     1  package apiv1
     2  
     3  import (
     4  	"net/http"
     5  	"os"
     6  	"strings"
     7  	"testing"
     8  
     9  	"github.com/jamiefdhurst/journal/internal/app"
    10  	"github.com/jamiefdhurst/journal/test/mocks/controller"
    11  	"github.com/jamiefdhurst/journal/test/mocks/database"
    12  )
    13  
    14  func TestList_Run(t *testing.T) {
    15  	db := &database.MockSqlite{}
    16  	container := &app.Container{Db: db}
    17  	response := &controller.MockResponse{}
    18  	response.Reset()
    19  	controller := &List{}
    20  	os.Chdir(os.Getenv("GOPATH") + "/src/github.com/jamiefdhurst/journal")
    21  
    22  	// Test showing all Journals
    23  	db.Rows = &database.MockJournal_MultipleRows{}
    24  	request, _ := http.NewRequest("GET", "/", strings.NewReader(""))
    25  	controller.Init(container, []string{"", "0"}, request)
    26  	controller.Run(response, request)
    27  	if !strings.Contains(response.Content, "Title 2") {
    28  		t.Error("Expected all journals to be returned")
    29  	}
    30  }