Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

54 lines
1.8KB

  1. package main
  2. import (
  3. "testing"
  4. "time"
  5. )
  6. func TestChatState(t *testing.T) {
  7. procedure := "getUserBasicProfile"
  8. s := chatState{}
  9. s.Name = "waiting for username"
  10. s.Expire = int32(time.Now().Unix() + 200)
  11. s.Send.Message = map[string]string{
  12. "txt": "What is your date of birth?",
  13. "icon": "/mnt/data/abc.jpg"}
  14. s.Send.Type = "text"
  15. s.Send.Sent = false
  16. s.Receive.Hint = "hint"
  17. s.Receive.Received = false
  18. s.Receive.Validator = "validator email"
  19. s.Receive.Message = map[string]string{
  20. "rtxt": "should be 3 chars at least",
  21. "ricon": "icon path should be available"}
  22. //save
  23. n, err := setCurrentState("id", procedure, s)
  24. AssertEqual(t, err, nil, "save state should be successful")
  25. //read out
  26. m, _ := getCurrentState("id", procedure)
  27. //compare
  28. AssertEqual(t, m.Name, n.Name, "Name should be equal")
  29. AssertEqual(t, m.Expire, n.Expire, "Expire should be equal")
  30. AssertEqual(t, m.Send.Type, n.Send.Type, "Send.Type should be equal")
  31. AssertEqual(t, m.Receive.Received, false, "Receive.Received should be false")
  32. AssertEqual(t, m.Send.Sent, false, "Send.Sent should be false")
  33. AssertEqual(t, m.Send.Message["txt"], n.Send.Message["txt"], "Message[txt] should be equal")
  34. AssertEqual(t, m.Send.Message["icon"], n.Send.Message["icon"], "Message[icon] should be equal")
  35. AssertEqual(t, m.Receive.Message["rtxt"], n.Receive.Message["rtxt"], "Message[rtxt] should be equal")
  36. AssertEqual(t, m.Receive.Message["ricon"], n.Receive.Message["ricon"], "Message[ricon] should be equal")
  37. err = deleteChatState("id", procedure)
  38. AssertEqual(t, err, nil, "delete chatState should be good")
  39. }
  40. func TestStartProcedure(t *testing.T) {
  41. s := startProcedure("id", "TestDummy")
  42. AssertEqual(t, s != nil, true, "TestDummy should return error")
  43. s = startProcedure("id", "TestEcho")
  44. AssertEqual(t, s, nil, "TestEqual should return success")
  45. }