package issues import ( "strings" "testing" tea "github.com/charmbracelet/bubbletea" "github.com/stretchr/testify/assert" ) func Test_Model_Init(t *testing.T) { assert.Nil(t, Model{}.Init()) } func Test_Model_Update_quit_on_keymsg(t *testing.T) { testIssue, _ := Issue.NewFromPath(Issue{}, "tests/bugs/test-1") testModel := Model{Issue: testIssue} testMsg := tea.KeyMsg{} model, cmd := testModel.Update(testMsg) assert.Equal(t, testModel, model) cmdValue := cmd() assert.IsType(t, tea.QuitMsg{}, cmdValue) } func Test_Model_Update_do_nothing(t *testing.T) { testIssue, _ := Issue.NewFromPath(Issue{}, "tests/bugs/test-1") testModel := Model{Issue: testIssue} var testMsg int model, cmd := testModel.Update(testMsg) assert.Equal(t, testModel, model) assert.Nil(t, cmd) } func Test_Model_renderIssue(t *testing.T) { testIssue, _ := Issue.NewFromPath(Issue{}, "tests/bugs/test-1") testRender := Model{Issue: testIssue}.renderIssue() assert.True(t, strings.Contains(testRender, "test description")) } func Test_Model_View(t *testing.T) { testIssue, _ := Issue.NewFromPath(Issue{}, "tests/bugs/test-1") testRender := Model{Issue: testIssue}.View() assert.True(t, strings.Contains(testRender, "test description")) }