~aleteoryx/muditaos

ref: 39255b2d45ffacb9de27d211c79d6a6763d69bcf muditaos/test/pytest/service-desktop/test_threads.py -rw-r--r-- 1.7 KiB
39255b2d — Paweł Joński [BH-743] AlarmEvent UT 4 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
# For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
import pytest
from harness.interface.defs import status


@pytest.mark.service_desktop_test
@pytest.mark.usefixtures("phone_unlocked")
def test_threads(harness):
    # getting all threads
    body = {"category": "thread"}
    ret = harness.endpoint_request("messages", "get", body)
    assert ret["status"] == status["OK"]

    # Check if all fields are present and have proper type
    message_types = [1, 2, 4, 8, 16, 18, 255]
    for thread in ret["body"]["entries"]:
        assert type(thread["contactID"]) == int
        assert type(thread["isUnread"]) == bool
        assert type(thread["lastUpdatedAt"]) == int
        assert type(thread["messageCount"]) == int
        assert type(thread["messageSnippet"]) == str
        assert type(thread["messageType"]) == int
        assert type(thread["numberID"]) == int
        assert type(thread["threadID"]) == int
        assert thread["messageType"] in message_types

    # getting a number of threads
    number_of_requested_threads = 3
    if ret["body"]["totalCount"] < number_of_requested_threads:
        number_of_requested_threads = ret["body"]["totalCount"]
    body = {"category": "thread", "limit": number_of_requested_threads, "offset": 0}
    ret = harness.endpoint_request("messages", "get", body)
    assert ret["status"] == status["OK"]

    threads = ret["body"]["entries"]  # getting entries
    threads_count = len(threads)
    assert threads_count == number_of_requested_threads

    # set thread as read
    body = {"category": "thread", "threadID": 1, "isUnread": False}
    ret = harness.endpoint_request("messages", "put", body)
    assert ret["status"] == status["NoContent"]