Skip to content

Commit 7848e99

Browse files
increasing test coverage
1 parent 39a198c commit 7848e99

File tree

3 files changed

+61
-0
lines changed

3 files changed

+61
-0
lines changed

cmd/berry/berry_test.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ import (
1010
tea "github.com/charmbracelet/bubbletea"
1111
"github.com/charmbracelet/lipgloss"
1212
"github.com/charmbracelet/x/exp/teatest"
13+
"github.com/stretchr/testify/assert"
14+
"github.com/stretchr/testify/require"
1315
)
1416

1517
func TestBerryCommand(t *testing.T) {
@@ -251,3 +253,15 @@ func TestTableInitialSelection(t *testing.T) {
251253
t.Errorf("Expected initial selectedOption to be 'Aguav', got %q", final.selectedOption)
252254
}
253255
}
256+
257+
func TestBerryCommandValidationError(t *testing.T) {
258+
originalArgs := os.Args
259+
defer func() { os.Args = originalArgs }()
260+
261+
// Set os.Args with extra argument to trigger validation error
262+
os.Args = []string{"poke-cli", "berry", "cheri", "extra-arg"}
263+
264+
output, err := BerryCommand()
265+
require.Error(t, err, "TypesCommand should return error for invalid args")
266+
assert.Contains(t, output, "Error", "Output should contain error message")
267+
}

cmd/search/search_test.go

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,3 +124,37 @@ func TestModelQuit(t *testing.T) {
124124
t.Errorf("Expected tea.Quit command, but got nil")
125125
}
126126
}
127+
128+
func TestSearchCommandValidationError(t *testing.T) {
129+
originalArgs := os.Args
130+
defer func() { os.Args = originalArgs }()
131+
132+
// Set os.Args with extra argument to trigger validation error
133+
os.Args = []string{"poke-cli", "search", "pokemon", "extra-arg"}
134+
135+
err := SearchCommand()
136+
assert.Error(t, err, "SearchCommand should return error for invalid args")
137+
}
138+
139+
func TestModelViewQuitting(t *testing.T) {
140+
m := Model{Quitting: true}
141+
view := m.View()
142+
assert.Contains(t, view, "Quitting search", "View should show quitting message")
143+
}
144+
145+
func TestModelViewShowResults(t *testing.T) {
146+
m := Model{
147+
ShowResults: true,
148+
SearchResults: "Test Results",
149+
}
150+
view := m.View()
151+
// View calls RenderInput when ShowResults is true
152+
assert.NotEmpty(t, view, "View should render results")
153+
}
154+
155+
func TestModelViewNotChosen(t *testing.T) {
156+
m := Model{Chosen: false}
157+
view := m.View()
158+
// View calls RenderSelection when not chosen
159+
assert.Contains(t, view, "Search for a resource", "View should show selection prompt")
160+
}

cmd/types/types_test.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"github.com/digitalghost-dev/poke-cli/cmd/utils"
1313
"github.com/digitalghost-dev/poke-cli/styling"
1414
"github.com/stretchr/testify/assert"
15+
"github.com/stretchr/testify/require"
1516
)
1617

1718
func TestTypesCommand(t *testing.T) {
@@ -177,3 +178,15 @@ func TestTypeSelection(t *testing.T) {
177178
t.Errorf("Expected selectedOption to be 'Water', got '%s'", final.selectedOption)
178179
}
179180
}
181+
182+
func TestTypesCommandValidationError(t *testing.T) {
183+
originalArgs := os.Args
184+
defer func() { os.Args = originalArgs }()
185+
186+
// Set os.Args with extra argument to trigger validation error
187+
os.Args = []string{"poke-cli", "types", "fire", "extra-arg"}
188+
189+
output, err := TypesCommand()
190+
require.Error(t, err, "TypesCommand should return error for invalid args")
191+
assert.Contains(t, output, "Error", "Output should contain error message")
192+
}

0 commit comments

Comments
 (0)