tui_test.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package issues
  2. import (
  3. "strings"
  4. "testing"
  5. tea "github.com/charmbracelet/bubbletea"
  6. "github.com/stretchr/testify/assert"
  7. )
  8. func Test_Model_Init(t *testing.T) {
  9. t.Skip()
  10. assert.Nil(t, Model{}.Init())
  11. }
  12. func Test_Model_Update_quit_on_keymsg(t *testing.T) {
  13. testIssue, _ := Issue.NewFromPath(Issue{}, "tests/bugs/test-1")
  14. testModel := Model{issue: testIssue}
  15. testMsg := tea.KeyMsg{}
  16. model, cmd := testModel.Update(testMsg)
  17. assert.Equal(t, testModel, model)
  18. cmdValue := cmd()
  19. assert.IsType(t, tea.QuitMsg{}, cmdValue)
  20. }
  21. func Test_Model_Update_do_nothing(t *testing.T) {
  22. testIssue, _ := Issue.NewFromPath(Issue{}, "tests/bugs/test-1")
  23. testModel := Model{issue: testIssue}
  24. var testMsg int
  25. model, cmd := testModel.Update(testMsg)
  26. assert.Equal(t, testModel, model)
  27. assert.Nil(t, cmd)
  28. }
  29. func Test_Model_renderIssue(t *testing.T) {
  30. testIssue, _ := Issue.NewFromPath(Issue{}, "tests/bugs/test-1")
  31. testRender := Model{issue: testIssue}.renderIssue()
  32. renderContent, _ := testRender.(string)
  33. assert.True(t, strings.Contains(renderContent, "test description"))
  34. }
  35. func Test_Model_View(t *testing.T) {
  36. t.Skip("skip until view lifecycle complete")
  37. testIssue, _ := Issue.NewFromPath(Issue{}, "tests/bugs/test-1")
  38. testRender := Model{issue: testIssue}.View()
  39. assert.True(t, strings.Contains(testRender, "test description"))
  40. }