-
Notifications
You must be signed in to change notification settings - Fork 3
/
command_test.go
113 lines (78 loc) · 1.97 KB
/
command_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
package main
import (
"io/ioutil"
"os"
"path/filepath"
"strings"
"testing"
"github.com/mingrammer/gomo/manager"
)
var (
homeDir string
memoFile string
)
func setupTestCase(t *testing.T) {
t.Log("Setup testcase")
homeDir = manager.GetHomeDir()
memoFile = filepath.Join(homeDir, ".gomo-tmp", "memo.json")
os.Remove(memoFile)
}
func teardownTestCase(t *testing.T) {
t.Log("Teardown testcase")
homeDir = manager.GetHomeDir()
memoFile = filepath.Join(homeDir, ".gomo-tmp", "memo.json")
os.Remove(memoFile)
}
func TestInitFunc(t *testing.T) {
setupTestCase(t)
defer teardownTestCase(t)
args := []string{}
if err := initFunc(memoFile, args); err != nil {
t.Errorf("Error occur when run init command: %v", err)
}
if _, err := os.Stat(memoFile); os.IsNotExist(err) {
t.Error("Memo file is not created correctly")
}
}
func TestNewFunc(t *testing.T) {
setupTestCase(t)
defer teardownTestCase(t)
var args []string
initFunc(memoFile, args)
args = []string{"first", "second"}
if err := newFunc(memoFile, args); err == nil {
t.Error("Expect error")
}
args = []string{"first"}
if err := newFunc(memoFile, args); err != nil {
t.Error("Expect no error")
}
fileContents, _ := ioutil.ReadFile(memoFile)
if !strings.Contains(string(fileContents), "first") {
t.Error("Expect memo file contains 'first'")
}
}
func TestDeleteFunc(t *testing.T) {
setupTestCase(t)
defer teardownTestCase(t)
var args []string
initFunc(memoFile, args)
args = []string{"first"}
newFunc(memoFile, args)
args = []string{"a"}
if err := deleteFunc(memoFile, args); err == nil {
t.Error("Expect error")
}
args = []string{"2"}
if err := deleteFunc(memoFile, args); err == nil {
t.Error("Expect error")
}
args = []string{"1"}
if err := deleteFunc(memoFile, args); err != nil {
t.Error("Expect no error")
}
fileContents, _ := ioutil.ReadFile(memoFile)
if strings.Contains(string(fileContents), "first") {
t.Error("Expect memo file should not contains 'first'")
}
}