Skip to content

Commit

Permalink
rewrite tests with testify
Browse files Browse the repository at this point in the history
  • Loading branch information
Ryooooooga committed May 3, 2021
1 parent 918efa8 commit 1bb13c4
Show file tree
Hide file tree
Showing 10 changed files with 58 additions and 118 deletions.
1 change: 1 addition & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@ go 1.16
require (
github.com/fatih/color v1.10.0
github.com/stoewer/go-strcase v1.2.0
github.com/stretchr/testify v1.7.0
github.com/urfave/cli/v2 v2.3.0
)
7 changes: 5 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,17 @@ github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeV
github.com/stoewer/go-strcase v1.2.0 h1:Z2iHWqGXH00XYgqDmNgQbIBxf3wrNq0F3feEy0ainaU=
github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/urfave/cli/v2 v2.3.0 h1:qph92Y649prgesehzOrQjdWyxFOp/QVM+6imKHad91M=
github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae h1:/WDfKMnPU+m5M4xB+6x4kaepxRw6jWvR5iDRdvjHgy8=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.3 h1:fvjTMHxHEw/mxHbtzPi3JCcKXQRAnQTBRo6YCJSVHKI=
gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
10 changes: 4 additions & 6 deletions pkg/cli/cli_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"testing"

"github.com/Ryooooooga/zouch/pkg/cli"
"github.com/stretchr/testify/assert"
)

func TestHelpAndVersion(t *testing.T) {
Expand Down Expand Up @@ -38,13 +39,10 @@ func TestHelpAndVersion(t *testing.T) {
app := cli.New("test")
app.Writer = writer

if err := app.Run(s.args); err != nil {
t.Fatal("must not return an error")
}
err := app.Run(s.args)
assert.Nil(t, err)

if output := writer.String(); len(output) == 0 {
t.Fatal("must show something")
}
assert.NotEmpty(t, writer.String())
})
}
}
21 changes: 6 additions & 15 deletions pkg/commands/add_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@ import (
"io/ioutil"
"os"
"path"
"reflect"
"testing"

"github.com/stretchr/testify/assert"
)

func prepareTestDir(t *testing.T) string {
Expand Down Expand Up @@ -48,18 +49,11 @@ func TestAdd(t *testing.T) {
cmd := newTestCommand(t, false, s.force)

err := cmd.Add(s.files)
if err != nil {
t.Fatalf("cmd.Add() returns an error %v", err)
}
assert.Nil(t, err)

templateFiles, err := cmd.Templates.ListTemplates()
if err != nil {
t.Fatalf("cmd.Templates.ListTemplates() returns an error %v", err)
}

if !reflect.DeepEqual(templateFiles, s.expectedTemplates) {
t.Fatalf("templateFiles != %v, actual %v", s.expectedTemplates, templateFiles)
}
assert.Nil(t, err)
assert.Equal(t, s.expectedTemplates, templateFiles)
})
}
}
Expand Down Expand Up @@ -100,10 +94,7 @@ func TestFailAdd(t *testing.T) {
cmd := newTestCommand(t, false, s.force)

err := cmd.Add(s.files)
if err == nil {
tpl, _ := cmd.Templates.FindTemplate("test.txt")
t.Fatalf("cmd.Add() must return an error %v", string(tpl.Content))
}
assert.Error(t, err)
})
}
}
12 changes: 4 additions & 8 deletions pkg/commands/list_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,16 @@ package commands_test
import (
"bytes"
"testing"

"github.com/stretchr/testify/assert"
)

func TestList(t *testing.T) {
cmd := newTestCommand(t, false, false)

err := cmd.List([]string{"THIS", "IS", "IGNORED"})
if err != nil {
t.Fatalf("cmd.List() returns an error %v", err)
}
assert.Nil(t, err)

expectedOutput := "_.txt\nmain.go\ntest.txt\n"

result := cmd.Output.(*bytes.Buffer).String()
if result != expectedOutput {
t.Fatalf("result != %s, actual %s", expectedOutput, result)
}
assert.Equal(t, expectedOutput, cmd.Output.(*bytes.Buffer).String())
}
19 changes: 7 additions & 12 deletions pkg/commands/preview_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ package commands_test
import (
"bytes"
"testing"

"github.com/stretchr/testify/assert"
)

func TestPreview(t *testing.T) {
Expand Down Expand Up @@ -32,14 +34,9 @@ func TestPreview(t *testing.T) {
t.Run(s.testname, func(t *testing.T) {
cmd := newTestCommand(t, false, false)

if err := cmd.Preview(s.files); err != nil {
t.Fatalf("cmd.Preview() returns an error %v", err)
}

result := cmd.Output.(*bytes.Buffer).String()
if result != s.expectedOutput {
t.Fatalf("result != %s, actual %s", s.expectedOutput, result)
}
err := cmd.Preview(s.files)
assert.Nil(t, err)
assert.Equal(t, s.expectedOutput, cmd.Output.(*bytes.Buffer).String())
})
}
}
Expand All @@ -66,10 +63,8 @@ func TestFailPreview(t *testing.T) {
for _, s := range scenarios {
t.Run(s.testname, func(t *testing.T) {
cmd := newTestCommand(t, false, false)

if err := cmd.Preview(s.args); err == nil {
t.Fatalf("cmd.Preview() must return an error")
}
err := cmd.Preview(s.args)
assert.Error(t, err)
})
}
}
13 changes: 5 additions & 8 deletions pkg/config/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ package config
import (
"os"
"testing"

"github.com/stretchr/testify/assert"
)

func TestRootDir(t *testing.T) {
Expand Down Expand Up @@ -58,14 +60,9 @@ func TestRootDir(t *testing.T) {
setOrUnsetEnv(t, "ZOUCH_ROOT", s.envs.zouchRoot)

c := NewConfig()

if c.RootDir != s.expectedRootDir {
t.Fatalf("expected c.RootDir == %s, actual %s", s.expectedRootDir, c.RootDir)
}

if c.TemplateDir != s.expectedTemplateDir {
t.Fatalf("expected c.TemplateDir == %s, actual %s", s.expectedTemplateDir, c.TemplateDir)
}
assert.NotNil(t, c)
assert.Equal(t, s.expectedRootDir, c.RootDir)
assert.Equal(t, s.expectedTemplateDir, c.TemplateDir)
})
}
}
Expand Down
13 changes: 4 additions & 9 deletions pkg/errors/cli_error_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,20 @@ import (
"testing"

"github.com/Ryooooooga/zouch/pkg/errors"
"github.com/stretchr/testify/assert"
)

func TestShowHelpAndExitError(t *testing.T) {
t.Run("ShowHelpAndExitError.Error()", func(t *testing.T) {
err := errors.ShowHelpAndExitError("test error message")
if err.Error() != "test error message" {
t.Fatalf("err.Error() != %v, actual %v", "test error message", err.Error())
}
assert.Equal(t, "test error message", err.Error())
})

t.Run("IsShowHelpAndExitError", func(t *testing.T) {
err := errors.ShowHelpAndExitError("")
if !errors.IsShowHelpAndExitError(err) {
t.Fatalf("IsShowHelpAndExitError(err) must return true")
}
assert.True(t, errors.IsShowHelpAndExitError(err))

err = fmt.Errorf("")
if errors.IsShowHelpAndExitError(err) {
t.Fatalf("IsShowHelpAndExitError(err) must return false")
}
assert.False(t, errors.IsShowHelpAndExitError(err))
})
}
11 changes: 4 additions & 7 deletions pkg/renderer/template_renderer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (

"github.com/Ryooooooga/zouch/pkg/renderer"
"github.com/Ryooooooga/zouch/pkg/repositories"
"github.com/stretchr/testify/assert"
)

func newTestTextTemplateRenderer() *renderer.TextTemplateRenderer {
Expand Down Expand Up @@ -55,13 +56,9 @@ func TestRenderTemplate(t *testing.T) {
Content: []byte(s.templateText),
}

if err := r.RenderTemplate(output, tpl, s.data); err != nil {
t.Fatalf("t.RenderTemplate() returns an error %v", err)
}

if result := output.String(); result != s.expectedOutput {
t.Fatalf("result != %s, actual %s", s.expectedOutput, result)
}
err := r.RenderTemplate(output, tpl, s.data)
assert.Nil(t, err)
assert.Equal(t, s.expectedOutput, output.String())
})
}
}
69 changes: 18 additions & 51 deletions pkg/repositories/template_repository_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ import (
"io/ioutil"
"os"
"path"
"reflect"
"testing"

"github.com/Ryooooooga/zouch/pkg/repositories"
"github.com/stretchr/testify/assert"
)

func writeFile(t *testing.T, filename string, content string) {
Expand All @@ -34,71 +34,44 @@ func TestTemplateRepository(t *testing.T) {
repo := repositories.NewTemplateRepository(tempDir)

files, err := repo.ListTemplates()
if err != nil {
t.Fatalf("ListTemplates() returns an error %v", err)
}
assert.Nil(t, err)

expectedFiles := []string{"_.md", "test1.txt", "test2.md"}

if !reflect.DeepEqual(files, expectedFiles) {
t.Fatalf("files != %v, actual %v", expectedFiles, files)
}
assert.Equal(t, expectedFiles, files)
})

t.Run("ListTemplateNotExists", func(t *testing.T) {
repo := repositories.NewTemplateRepository(path.Join(tempDir, "NO_SUCH_DIR"))

files, err := repo.ListTemplates()
if err != nil {
t.Fatalf("ListTemplates() returns an error %v", err)
}

if len(files) != 0 {
t.Fatalf("files != {}, actual %v", files)
}
assert.Nil(t, err)
assert.Empty(t, files)
})

t.Run("AddTemplate", func(t *testing.T) {
repo := repositories.NewTemplateRepository(tempDir)

templateFilename, overwritten, err := repo.AddTemplate("add-test1.txt", []byte("add-test1"), false)
assert.Nil(t, err)

expectedTemplateFilename := path.Join(tempDir, "add-test1.txt")
if err != nil {
t.Fatalf("AddTemplate() returns an error %v", err)
}
if templateFilename != expectedTemplateFilename {
t.Fatalf("templateFilename != %s, actual %s", expectedTemplateFilename, templateFilename)
}
if overwritten {
t.Fatalf("overwritten must be false")
}
assert.Equal(t, expectedTemplateFilename, templateFilename)
assert.False(t, overwritten)
defer os.Remove(path.Join(tempDir, "add-test1.txt"))

files, err := repo.ListTemplates()
if err != nil {
t.Fatalf("ListTemplates() returns an error %v", err)
}
assert.Nil(t, err)

expectedFiles := []string{"_.md", "add-test1.txt", "test1.txt", "test2.md"}
if !reflect.DeepEqual(files, expectedFiles) {
t.Fatalf("files != %v, actual %v", expectedFiles, files)
}
assert.Equal(t, expectedFiles, files)

_, _, err = repo.AddTemplate("add-test1.txt", []byte("add-test1"), false)
if err == nil {
t.Fatalf("AddTemplate() must return an error")
}
assert.Error(t, err)

templateFilename, overwritten, err = repo.AddTemplate("add-test1.txt", []byte("add-test1"), true)
if err != nil {
t.Fatalf("AddTemplate() returns an error %v", err)
}
if templateFilename != expectedTemplateFilename {
t.Fatalf("templateFilename != %s, actual %s", expectedTemplateFilename, templateFilename)
}
if !overwritten {
t.Fatalf("overwritten must be true")
}
assert.Nil(t, err)
assert.Equal(t, expectedTemplateFilename, templateFilename)
assert.True(t, overwritten)
})

t.Run("FindTemplate", func(t *testing.T) {
Expand Down Expand Up @@ -145,12 +118,8 @@ func TestTemplateRepository(t *testing.T) {
repo := repositories.NewTemplateRepository(tempDir)

tpl, err := repo.FindTemplate(s.filename)
if err != nil {
t.Fatalf("FindTemplate() returns an error %v", err)
}
if !reflect.DeepEqual(s.expected, tpl) {
t.Fatalf("tpl != %v, actual %v", s.expected, tpl)
}
assert.Nil(t, err)
assert.Equal(t, s.expected, tpl)
})
}
})
Expand All @@ -159,8 +128,6 @@ func TestTemplateRepository(t *testing.T) {
repo := repositories.NewTemplateRepository(tempDir)

_, err := repo.FindTemplate("test-dir")
if err == nil {
t.Fatalf("FindTemplate() must return an error")
}
assert.Error(t, err)
})
}

0 comments on commit 1bb13c4

Please sign in to comment.