summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChrisB-Elektrobit <chris.boguslawski@elektrobit.com>2017-08-21 16:40:52 -0400
committerChrisB-Elektrobit <chris.boguslawski@elektrobit.com>2017-08-21 16:40:52 -0400
commitfeeec44f77aeca1ae4fa438d62d9b534cb2e9f6a (patch)
tree3d394d2dc71908e7b115010a6c5f76199487941a
parent5ac94cb84735c9e58681bcbf300b700b931be360 (diff)
downloadsdl_core-feeec44f77aeca1ae4fa438d62d9b534cb2e9f6a.tar.gz
- adding a test to cover the case where metadata tagging is provided but no accompanying field data exists; this should result in a 'WARNINGS' result code
-rw-r--r--src/components/application_manager/test/commands/mobile/show_test.cc73
1 files changed, 61 insertions, 12 deletions
diff --git a/src/components/application_manager/test/commands/mobile/show_test.cc b/src/components/application_manager/test/commands/mobile/show_test.cc
index 01d4c8105f..17fbcde9dd 100644
--- a/src/components/application_manager/test/commands/mobile/show_test.cc
+++ b/src/components/application_manager/test/commands/mobile/show_test.cc
@@ -156,11 +156,14 @@ class ShowRequestTest : public CommandRequestTest<CommandsTestMocks::kIsNice> {
hmi_apis::Common_TextFieldName::eType field_name,
const char* field,
size_t num_tags,
- int32_t* field_tags) {
+ int32_t* field_tags,
+ bool set_field_text = true) {
SmartObject msg_params(smart_objects::SmartType_Map);
(*msg)[am::strings::params][am::strings::connection_key] = kConnectionKey;
(*msg)[am::strings::params][am::strings::function_id] = kFunctionID;
- msg_params[field] = text_field_;
+ if (set_field_text) {
+ msg_params[field] = text_field_;
+ }
msg_params[am::strings::metadata_tags][field] =
smart_objects::SmartObject(smart_objects::SmartType_Array);
for (size_t i = 0; i < num_tags; ++i) {
@@ -181,16 +184,20 @@ class ShowRequestTest : public CommandRequestTest<CommandsTestMocks::kIsNice> {
msg_params[am::strings::app_id] = kAppId;
msg_params[am::hmi_request::show_strings] =
smart_objects::SmartObject(smart_objects::SmartType_Array);
- msg_params[am::hmi_request::show_strings][0][am::hmi_request::field_name] =
- static_cast<int32_t>(field_name);
- msg_params[am::hmi_request::show_strings][0][am::hmi_request::field_text] =
- text_field_;
- msg_params[am::hmi_request::show_strings][0][am::hmi_request::field_types] =
- smart_objects::SmartObject(smart_objects::SmartType_Array);
- for (size_t i = 0; i < num_tags; ++i) {
- const int32_t current_tag = field_tags[i];
- msg_params[am::hmi_request::show_strings][0][am::hmi_request::field_types]
- [i] = current_tag;
+ if (set_field_text) {
+ msg_params[am::hmi_request::show_strings][0]
+ [am::hmi_request::field_name] =
+ static_cast<int32_t>(field_name);
+ msg_params[am::hmi_request::show_strings][0]
+ [am::hmi_request::field_text] = text_field_;
+ msg_params[am::hmi_request::show_strings][0]
+ [am::hmi_request::field_types] =
+ smart_objects::SmartObject(smart_objects::SmartType_Array);
+ for (size_t i = 0; i < num_tags; ++i) {
+ const int32_t current_tag = field_tags[i];
+ msg_params[am::hmi_request::show_strings][0]
+ [am::hmi_request::field_types][i] = current_tag;
+ }
}
EXPECT_CALL(app_mngr_, ManageHMICommand(_));
@@ -720,6 +727,48 @@ TEST_F(ShowRequestTest, Run_MainField4_MetadataTag) {
command->Run();
}
+TEST_F(ShowRequestTest, Run_MainField1_MetadataTagWithNoFieldData) {
+ MessageSharedPtr msg = CreateMsgParams();
+
+ SharedPtr<ShowRequest> command(CreateCommand<ShowRequest>(msg));
+
+ text_field_ = "Main_Field_1";
+ const size_t num_tags = 1;
+ int32_t tags[num_tags] = {hmi_apis::Common_MetadataType::mediaArtist};
+ TestSetupHelperWithMetadata(msg,
+ hmi_apis::Common_TextFieldName::mainField1,
+ am::strings::main_field_1,
+ num_tags,
+ tags,
+ false);
+ command->Run();
+
+ MessageSharedPtr ev_msg = CreateMessage(smart_objects::SmartType_Map);
+ (*ev_msg)[am::strings::params][am::hmi_response::code] =
+ hmi_apis::Common_Result::SUCCESS;
+ (*ev_msg)[am::strings::msg_params][am::strings::app_id] = kConnectionKey;
+ (*ev_msg)[am::strings::msg_params][am::strings::info] = "";
+
+ Event event(hmi_apis::FunctionID::UI_Show);
+ event.set_smart_object(*ev_msg);
+
+ MessageSharedPtr ui_command_result;
+ EXPECT_CALL(
+ app_mngr_,
+ ManageMobileCommand(_, am::commands::Command::CommandOrigin::ORIGIN_SDL))
+ .WillOnce(DoAll(SaveArg<0>(&ui_command_result), Return(true)));
+
+ command->on_event(event);
+
+ EXPECT_EQ((*ui_command_result)[am::strings::msg_params][am::strings::success]
+ .asBool(),
+ true);
+ EXPECT_EQ(
+ (*ui_command_result)[am::strings::msg_params][am::strings::result_code]
+ .asInt(),
+ static_cast<int32_t>(mobile_apis::Result::WARNINGS));
+}
+
TEST_F(ShowRequestTest, Run_MediaClock_SUCCESS) {
MessageSharedPtr msg = CreateMsgParams();