diff options
| author | Shpuld Shpludson <shp@cock.li> | 2021-03-01 18:15:46 +0000 |
|---|---|---|
| committer | Shpuld Shpludson <shp@cock.li> | 2021-03-01 18:15:46 +0000 |
| commit | c3fcbbd918ddef4e3f574a464fd10f4899bb2dce (patch) | |
| tree | 695ccbd352c82cb0f08fc78ff85bf23888561a8e /test/unit/specs/services/chat_service/chat_service.spec.js | |
| parent | 320418d524a33c20d7d769c8d67a25be81f251ec (diff) | |
| parent | 0ac34b3014a1499ef5f3de7d3c321119dd10ab26 (diff) | |
Merge branch 'rc/2.3.0' into 'master'
2.3.0 to MASTER
See merge request pleroma/pleroma-fe!1366
Diffstat (limited to 'test/unit/specs/services/chat_service/chat_service.spec.js')
| -rw-r--r-- | test/unit/specs/services/chat_service/chat_service.spec.js | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/test/unit/specs/services/chat_service/chat_service.spec.js b/test/unit/specs/services/chat_service/chat_service.spec.js index 0251cae7..fbbca436 100644 --- a/test/unit/specs/services/chat_service/chat_service.spec.js +++ b/test/unit/specs/services/chat_service/chat_service.spec.js @@ -88,4 +88,21 @@ describe('chatService', () => { expect(view.map(i => i.type)).to.eql(['date', 'message', 'message', 'date', 'message']) }) }) + + describe('.cullOlderMessages', () => { + it('keeps 50 newest messages and idIndex matches', () => { + const chat = chatService.empty() + + for (let i = 100; i > 0; i--) { + // Use decimal values with toFixed to hack together constant length predictable strings + chatService.add(chat, { messages: [{ ...message1, id: 'a' + (i / 1000).toFixed(3), idempotency_key: i }] }) + } + chatService.cullOlderMessages(chat) + expect(chat.messages.length).to.eql(50) + expect(chat.messages[0].id).to.eql('a0.051') + expect(chat.minId).to.eql('a0.051') + expect(chat.messages[49].id).to.eql('a0.100') + expect(Object.keys(chat.idIndex).length).to.eql(50) + }) + }) }) |
