3 Copyright (c) 2013 Samsung Electronics Co., Ltd.
5 Licensed under the Apache License, Version 2.0 (the License);
6 you may not use this file except in compliance with the License.
7 You may obtain a copy of the License at
9 http://www.apache.org/licenses/LICENSE-2.0
11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and
15 limitations under the License.
19 Lukasz Bardeli <l.bardeli@samsung.com>
24 <title>MessageStorage_mms_findMessages_from_with_errorCallback</title>
25 <meta charset="utf-8"/>
26 <script type="text/javascript" src="../resources/unitcommon.js"></script>
27 <script type="text/javascript" src="support/messaging_common.js"></script>
33 //==== TEST: MessageStorage_mms_findMessages_from_with_errorCallback
34 //==== LABEL Check with optional arguments findMessages(valid_filter, valid_successCallback, valid_errorCallback) from for mms
35 //==== SPEC Tizen Web API:Communication:Messaging:MessageStorage:findMessages M
36 //==== SPEC_URL https://developer.tizen.org/help/topic/org.tizen.web.device.apireference/tizen/messaging.html
37 //==== ONLOAD_DELAY 90
38 //==== TEST_CRITERIA MOA MR
39 setup({timeout: 90000});
41 var t = async_test("MessageStorage_mms_findMessages_from_with_errorCallback", {timeout: 90000}),
42 getMessageServicesErrorCB, getMessageServicesSuccessCB, messageService, messageStorage,
43 message, messageReceived, findSuccessCB, findErrorCB, i, onMessagesAdded,
44 datetime, filterSuccess = 0, watchId = null, callbackListener,
45 sendSuccess, sendError, returnedValue = null, fromFound, plainBodyFilter, fromAndPlainBodyFilter;
48 add_result_callback(function (res) {
50 if (watchId !== null) {
51 messageStorage.removeChangeListener(watchId);
54 // do nothing in case removeChangeListener throw an exception
58 findSuccessCB = t.step_func(function (msg) {
59 assert_greater_than(msg.length, 0, "No messages found");
60 for (i = 0; i < msg.length; i++) {
61 assert_not_equals(msg[i].from, null, "from is null");
62 fromFound = msg[i].from.indexOf(TEST_SMS_RECIPIENT);
63 assert_greater_than_equal(fromFound, 0, "Recipient not found");
65 if (msg[i].id === messageReceived.id) {
70 assert_equals(filterSuccess, 1, "Incorrect number of found message");
72 assert_equals(returnedValue, undefined, "Incorrect returned value");
76 findErrorCB = t.step_func(function (error) {
77 assert_unreached("findMessage() error callback: name:" + error.name + ", msg:" + error.message);
80 onMessagesAdded = t.step_func(function (messages) {
81 assert_equals(messages.length, 1, "Incorrect number of messages.");
82 messageReceived = messages[0];
83 assert_equals(messageReceived.body.plainBody, datetime, "Incorrect plainBody found");
84 assert_not_equals(messageReceived.id, message.id, "Incorrect id found - id of sent message");
86 messageStorage.removeChangeListener(watchId);
89 returnedValue = messageStorage.findMessages(fromFilter, findSuccessCB, findErrorCB);
93 messagesupdated: t.step_func(function (messages) {
94 assert_unreached("Should not enter messagesupdated: " + messages.length);
96 messagesadded: onMessagesAdded,
97 messagesremoved: t.step_func(function (messages) {
98 assert_unreached("Should not enter messagesremoved: " + messages.length);
102 sendSuccess = t.step_func(function () {
106 sendError = t.step_func(function (error) {
107 assert_unreached("sendMessage() error callback: name:" + error.name + ", msg:" + error.message);
110 getMessageServicesSuccessCB = t.step_func(function (services) {
111 assert_greater_than(services.length, 0, "Received empty services array");
113 datetime = tizen.time.getCurrentDateTime().toString();
114 message = new tizen.Message("messaging.mms", {
116 to: [ TEST_SMS_RECIPIENT ]
119 messageService = services[0];
120 messageStorage = messageService.messageStorage;
121 plainBodyFilter = new tizen.AttributeFilter("body.plainBody", "EXACTLY", datetime);
122 fromAndPlainBodyFilter = new tizen.CompositeFilter("INTERSECTION", [fromFilter, plainBodyFilter]);
123 watchId = messageStorage.addMessagesChangeListener(callbackListener, fromAndPlainBodyFilter);
124 messageService.sendMessage(message, sendSuccess, sendError);
127 getMessageServicesErrorCB = t.step_func(function (error) {
128 assert_unreached("getMessageServices() error callback: name:" + error.name + ", msg:" + error.message);
131 tizen.messaging.getMessageServices("messaging.mms", getMessageServicesSuccessCB, getMessageServicesErrorCB);