webapi_imlog_test.go 847 B

123456789101112131415161718192021222324252627282930313233
  1. package state
  2. import (
  3. "testing"
  4. "github.com/stretchr/testify/assert"
  5. )
  6. func TestWebAPISession_GetStoredIMs(t *testing.T) {
  7. sess := &WebAPISession{}
  8. sess.AddStoredIM("buddy1", "me", "hello", "msg-1", 100)
  9. sess.AddStoredIM("buddy1", "buddy1", "hi back", "msg-2", 200)
  10. sess.AddStoredIM("buddy2", "buddy2", "other chat", "msg-3", 150)
  11. msgs := sess.GetStoredIMs(StoredIMQuery{
  12. PartnerAimID: "buddy1",
  13. SortOrder: "descendingDate",
  14. NToGet: 10,
  15. })
  16. assert.Len(t, msgs, 2)
  17. assert.Equal(t, "msg-2", msgs[0]["msgId"])
  18. assert.Equal(t, float64(200), msgs[0]["date"])
  19. assert.Equal(t, "hello", msgs[1]["message"])
  20. msgs = sess.GetStoredIMs(StoredIMQuery{
  21. PartnerAimID: "buddy1",
  22. SortOrder: "ascendingDate",
  23. StartTime: 150,
  24. EndTime: 250,
  25. })
  26. assert.Len(t, msgs, 1)
  27. assert.Equal(t, "msg-2", msgs[0]["msgId"])
  28. }