tui_test.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package issho
  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. assert.Nil(t, Model{}.Init())
  10. }
  11. func Test_Model_Update_quit_on_keymsg(t *testing.T) {
  12. testIssue, _ := Issue.NewFromPath(Issue{}, "tests/bugs/test-1")
  13. testModel := Model{Issue: testIssue}
  14. testMsg := tea.KeyMsg{}
  15. model, cmd := testModel.Update(testMsg)
  16. assert.Equal(t, testModel, model)
  17. cmdValue := cmd()
  18. assert.IsType(t, tea.QuitMsg{}, cmdValue)
  19. }
  20. func Test_Model_Update_do_nothing(t *testing.T) {
  21. testIssue, _ := Issue.NewFromPath(Issue{}, "tests/bugs/test-1")
  22. testModel := Model{Issue: testIssue}
  23. var testMsg int
  24. model, cmd := testModel.Update(testMsg)
  25. assert.Equal(t, testModel, model)
  26. assert.Nil(t, cmd)
  27. }
  28. func Test_Model_renderIssue(t *testing.T) {
  29. testIssue, _ := Issue.NewFromPath(Issue{}, "tests/bugs/test-1")
  30. testRender := Model{Issue: testIssue}.renderIssue()
  31. assert.True(t, strings.Contains(testRender, "test description"))
  32. }
  33. func Test_Model_View(t *testing.T) {
  34. testIssue, _ := Issue.NewFromPath(Issue{}, "tests/bugs/test-1")
  35. testRender := Model{Issue: testIssue}.View()
  36. assert.True(t, strings.Contains(testRender, "test description"))
  37. }