Skip to content

Commit

Permalink
update file_test
Browse files Browse the repository at this point in the history
  • Loading branch information
jmillerv committed Dec 10, 2023
1 parent 6de2289 commit 478bef5
Show file tree
Hide file tree
Showing 3 changed files with 95 additions and 9 deletions.
19 changes: 19 additions & 0 deletions cache/cache_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package cache

import "testing"

func TestClearPodcastPlayedCache(t *testing.T) {
tests := []struct {
name string
wantErr bool
}{
// TODO: Add test cases.
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if err := ClearPodcastPlayedCache(); (err != nil) != tt.wantErr {
t.Errorf("ClearPodcastPlayedCache() error = %v, wantErr %v", err, tt.wantErr)
}
})
}
}
5 changes: 3 additions & 2 deletions content/file.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package content

import (
"errors"
"fmt"
"io"
"os"
Expand All @@ -10,6 +9,8 @@ import (
"strings"
"time"

"github.com/pkg/errors"

"github.com/faiface/beep"
"github.com/faiface/beep/flac"
"github.com/faiface/beep/mp3"
Expand Down Expand Up @@ -43,7 +44,7 @@ func (l *LocalFile) Get() error {

f, err := os.Open(l.Path)
if err != nil {
return errors.New(fmt.Sprintf("unable to open file from path: %v", err)) //nolint:lll,revive,gosimple,nolintlint // error pref
return errors.New(fmt.Sprintf("unable to open file from path %s", err.Error())) //nolint:lll,revive,gosimple,nolintlint // error pref
}

log.Infof("decoding file from %v", l.Path)
Expand Down
80 changes: 73 additions & 7 deletions content/file_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
"testing"

"github.com/faiface/beep"
"github.com/pkg/errors"
"github.com/stretchr/testify/assert"
)

Expand All @@ -15,6 +16,7 @@ const (
)

func TestLocalFile_Get(t *testing.T) {
t.Parallel()
type fields struct {
Name string
Content *os.File
Expand All @@ -23,22 +25,86 @@ func TestLocalFile_Get(t *testing.T) {
decodeReadCloser func(rc io.ReadCloser) (s beep.StreamSeekCloser, format beep.Format, err error)
fileType string
}
type want struct {
err error
}
tests := []struct {
name string
fields fields
prepare func(t *testing.T, f *fields) *LocalFile
wantErr bool
want want
}{
//nolint:godox // TODO: Add test cases.
{
name: "Success: Open file without error",
fields: fields{
Name: "localfile_test",
Path: "./",
decodeReader: nil,
decodeReadCloser: nil,
fileType: ".txt",
},
prepare: func(t *testing.T, f *fields) *LocalFile {
t.Helper()
return &LocalFile{
Name: f.Name,
Path: f.Path,
decodeReader: f.decodeReader,
decodeReadCloser: f.decodeReadCloser,
fileType: f.fileType,
}
},
wantErr: false,
},
{
name: "Error: failed to open file",
fields: fields{
Name: "adsadsada",
Path: "32190da",
decodeReader: nil,
decodeReadCloser: nil,
fileType: ".txt",
},
prepare: func(t *testing.T, f *fields) *LocalFile {
t.Helper()
f.decodeReader = func(r io.Reader) (s beep.StreamSeekCloser, format beep.Format, err error) {
return nil, beep.Format{}, err
}
f.decodeReadCloser = func(rc io.ReadCloser) (s beep.StreamSeekCloser, format beep.Format, err error) {
return nil, beep.Format{}, err
}
return &LocalFile{
Name: f.Name,
Path: f.Path,
decodeReader: f.decodeReader,
decodeReadCloser: f.decodeReadCloser,
fileType: f.fileType,
}
},
wantErr: true,
want: want{
err: errors.New("unable to open file from path open 32190da: no such file or directory"),
},
},
}
for _, tt := range tests {
tt := tt // pin
t.Run(tt.name, func(t *testing.T) {
l := &LocalFile{
Name: tt.fields.Name,
Content: tt.fields.Content,
Path: tt.fields.Path,
t.Parallel()

// create temporary file
tmpFile, err := os.CreateTemp("", "localfile_test.txt")
if err != nil {
t.Fatalf("failed to create temporary file: %v", err)
}
if err := l.Get(); (err != nil) != tt.wantErr {
t.Errorf("Get() error = %v, wantErr %v", err, tt.wantErr)
defer os.Remove(tmpFile.Name())

getErr := tt.prepare(t, &tt.fields).Get()
if tt.wantErr {
if getErr == nil {
t.Fatalf("getErr shoold not be nil")
}
assert.EqualError(t, getErr, tt.want.err.Error())
}
})
}
Expand Down

0 comments on commit 478bef5

Please sign in to comment.