From 15d3ba41d387ac4034d8f2ed9c8af96eb342953f Mon Sep 17 00:00:00 2001 From: Max Claus Nunes Date: Tue, 24 Jul 2018 22:05:10 -0300 Subject: [PATCH] Add test for build and runner errors --- gaper_test.go | 29 +++++++++++++++++++++++++++++ testdata/mocks.go | 6 +++++- 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/gaper_test.go b/gaper_test.go index d546289..a080f18 100644 --- a/gaper_test.go +++ b/gaper_test.go @@ -39,6 +39,35 @@ func TestGaperSetupConfigNoParams(t *testing.T) { assert.Equal(t, args.WatchItems, []string{"."}) } +func TestGaperBuildError(t *testing.T) { + mockBuilder := new(testdata.MockBuilder) + mockBuilder.On("Build").Return(errors.New("build-error")) + mockRunner := new(testdata.MockRunner) + mockWatcher := new(testdata.MockWacther) + + cfg := &Config{} + + chOSSiginal := make(chan os.Signal, 2) + err := run(cfg, chOSSiginal, mockBuilder, mockRunner, mockWatcher) + assert.NotNil(t, err, "build error") + assert.Equal(t, "build error: build-error", err.Error()) +} + +func TestGaperRunError(t *testing.T) { + mockBuilder := new(testdata.MockBuilder) + mockBuilder.On("Build").Return(nil) + mockRunner := new(testdata.MockRunner) + mockRunner.On("Run").Return(nil, errors.New("runner-error")) + mockWatcher := new(testdata.MockWacther) + + cfg := &Config{} + + chOSSiginal := make(chan os.Signal, 2) + err := run(cfg, chOSSiginal, mockBuilder, mockRunner, mockWatcher) + assert.NotNil(t, err, "runner error") + assert.Equal(t, "run error: runner-error", err.Error()) +} + func TestGaperWatcherError(t *testing.T) { mockBuilder := new(testdata.MockBuilder) mockBuilder.On("Build").Return(nil) diff --git a/testdata/mocks.go b/testdata/mocks.go index 37d7a74..11af253 100644 --- a/testdata/mocks.go +++ b/testdata/mocks.go @@ -31,8 +31,12 @@ type MockRunner struct { // Run ... func (m *MockRunner) Run() (*exec.Cmd, error) { args := m.Called() - return args.Get(0).(*exec.Cmd), args.Error(1) + cmdArg := args.Get(0) + if cmdArg == nil { + return nil, args.Error(1) + } + return cmdArg.(*exec.Cmd), args.Error(1) } // Kill ...