/****************************************************************************
**
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of the test suite of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia.  For licensing terms and
** conditions see http://qt.digia.com/licensing.  For further information
** use the contact form at http://qt.digia.com/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file.  Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Digia gives you certain additional
** rights.  These rights are described in the Digia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.  Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met: http://www.gnu.org/copyleft/gpl.html.
**
**
** $QT_END_LICENSE$
**
****************************************************************************/

//TESTED_COMPONENT=src/location

testcase = {

    qml_searching_for_places_by_category_for_given_position_data: {
        data:["48.9", "2.4", "Shopping", "Pain de Sucre 5.5km"]
    },

    qml_searching_for_places_by_category_for_given_position: function(latitude, longitude, category, place)
    {
        // Test meta data
        testTitle = "QML: Places - Searching by category for the given position";
        testBinary = "qml_location_places";
        testSource = "$QTDIR/qtlocation/examples/declarative/places"
        testGoal = "Verify that places can be found.";
        testPreconditions = "Internet connection is required for this test case. Pass proxy settings to app if needed.";
        testGroups = "BAT,5.0";
        testRequirements = "MTMW-190: Place Discovery";

        // Test steps
        prompt(twiki("---+++ " + testTitle + "<br><br>
        *Goal:* " + testGoal + "<br>
        *Pre-Requisites:* " + testPreconditions + "<br>
        *Tested Binary:* " + testBinary + "<br>
        *Requirements:* " + testRequirements + "<br>

        | *Step* | *Verification* |
        | Launch [" + testBinary + "] | App launches normally |
        | Select [Provider] button | |
        | Select [nokia] | |
        | Select [Search] button | |
        | Select [Search Center] button | |
        | Fill in [" + latitude + "] in Latitude field | |
        | Fill in [" + longitude + "] in Longitude field | |
        | Select [Go!] button | |
        | Select Category icon | Verify that each categoty has specific icon |
        | Select [" + category + "] | |
        | Expand panel with seacrh results | Verify that [" + place + "] is the first item in the list. |"
        ));
    },

    qml_searching_for_places_by_text_string_for_given_position_data: {
        search_string:["48.9", "2.4", "pizza", "Pizza Di Napoli 576m"]
    },

    qml_searching_for_places_by_text_string_for_given_position: function(latitude, longitude, search_string, place)
    {
        // Test meta data
        testTitle = "QML: Places - Searching by text string for the given position";
        testBinary = "qml_location_places";
        testSource = "$QTDIR/qtlocation/examples/declarative/places"
        testGoal = "Verify that places can be found or user is informed about the error.";
        testPreconditions = "Internet connection is required for this test case. Pass proxy settings to app if needed.";
        testGroups = "BAT,5.0";
        testRequirements = "MTMW-190: Place Discovery";

        // Test steps
        prompt(twiki("---+++ " + testTitle + "<br><br>
        *Goal:* " + testGoal + "<br>
        *Pre-Requisites:* " + testPreconditions + "<br>
        *Tested Binary:* " + testBinary + "<br>
        *Requirements:* " + testRequirements + "<br>

        | *Step* | *Verification* |
        | Launch [" + testBinary + "] | App launches normally |
        | Select [Provider] button | |
        | Select [nokia] | |
        | Select [Search] button | |
        | Select [Search Center] button | |
        | Fill in [" + latitude + "] in Latitude field | |
        | Fill in [" + longitude + "] in Longitude field | |
        | Select [Go!] button | |
        | Fill in [" + search_string + "] in Search field | |
        | Select Loupe icon | |
        | Expand panel with results | Verify that [" + place + "] is the first item in the list. |"
        ));
    },

    qml_recomendations_for_places_data: {
        data:["48.9", "2.4", "La Romantica", "La Romantica 7.0km", "Guy Savoy 2.9km"]
    },

    qml_recomendations_for_places: function(latitude, longitude, search_string, place, similar_place)
    {
        // Test meta data
        testTitle = "QML: Places - Recommendation for places";
        testBinary = "qml_location_places";
        testSource = "$QTDIR/qtlocation/examples/declarative/places"
        testGoal = "Verify that recomendation for places can be found.";
        testPreconditions = "Internet connection is required for this test case. Pass proxy settings to app if needed.";
        testGroups = "BAT,5.0";
        testRequirements = "MTMW-190: Place Discovery";

        // Test steps
        prompt(twiki("---+++ " + testTitle + "<br><br>
        *Goal:* " + testGoal + "<br>
        *Pre-Requisites:* " + testPreconditions + "<br>
        *Tested Binary:* " + testBinary + "<br>
        *Requirements:* " + testRequirements + "<br>

        | *Step* | *Verification* |
        | Launch [" + testBinary + "] | App launches normally |
        | Select [Provider] button | |
        | Select [nokia] | |
        | Select [Search] button | |
        | Select [Search Center] button | |
        | Fill in [" + latitude + "] in Latitude field | |
        | Fill in [" + longitude + "] in Longitude field | |
        | Select [Go!] button | |
        | Fill in [" + search_string + "] in Search field | |
        | Select Loupe icon | |
        | Expand panel with results | |
        | Select [" + place + "] | |
        | Select [Find Similar] | Verify that [" + similar_place + "] is the first item in the list. |"
        ));
    },

    qml_suggestions_for_places_data: {
        search_string_of_3_symbols:["48.9", "2.4", "piz", "Pizza Di Napoli"],
        search_string_of_4_symbols:["48.9", "2.4", "pizz", "Pizza Pazza"]
    },

    qml_suggestions_for_places: function(latitude, longitude, search_string, place)
    {
        // Test meta data
        testTitle = "QML: Places - Suggestions for places";
        testBinary = "qml_location_places";
        testSource = "$QTDIR/qtlocation/examples/declarative/places"
        testGoal = "Verify that suggestions for places can be obtained.";
        testPreconditions = "Internet connection is required for this test case. Pass proxy settings to app if needed.";
        testGroups = "BAT,5.0";
        testRequirements = "MTMW-190: Place Discovery";

        // Test steps
        prompt(twiki("---+++ " + testTitle + "<br><br>
        *Goal:* " + testGoal + "<br>
        *Pre-Requisites:* " + testPreconditions + "<br>
        *Tested Binary:* " + testBinary + "<br>
        *Requirements:* " + testRequirements + "<br>

        | *Step* | *Verification* |
        | Launch [" + testBinary + "] | App launches normally |
        | Select [Provider] button | |
        | Select [nokia] | |
        | Select [Search] button | |
        | Select [Search Center] button | |
        | Fill in [" + latitude + "] in Latitude field | |
        | Fill in [" + longitude + "] in Longitude field | |
        | Select [Go!] button | |
        | Fill in [" + search_string + "] in Search field | Verify that [" + place + "] is the fourth item in the list. |"
        ));
    },

    qml_place_editorials_data: {
        prime_editorial:["48.9", "2.4", "le pouilly reuilly", "Le Pouilly Reuilly 1.7km", "1", "Untitled editorial", "prime", "Une institution bustronomique...", "Business Owner"],
        not_prime_editorial:["48.9", "2.4", "marche ou crepe", "Marche ou Crepe 4.2km", "1", "Untitled editorial", "not prime", "This little outlet near...", "Lonely planet"]
    },

    qml_place_editorials: function(latitude, longitude, search_string, place, editorials, editorial_name, editorial_icon, editorial_text, editorial_author)
    {
        // Test meta data
        testTitle = "QML: Places - Retrieval of editorials";
        testBinary = "qml_location_places";
        testSource = "$QTDIR/qtlocation/examples/declarative/places"
        testGoal = "Verify that editorials for places can be obtained.";
        testPreconditions = "Internet connection is required for this test case. Pass proxy settings to app if needed.";
        testGroups = "BAT,5.0";
        testRequirements = "MTMW-191: Place Retrieval";

        // Test steps
        prompt(twiki("---+++ " + testTitle + "<br><br>
        *Goal:* " + testGoal + "<br>
        *Pre-Requisites:* " + testPreconditions + "<br>
        *Tested Binary:* " + testBinary + "<br>
        *Requirements:* " + testRequirements + "<br>

        | *Step* | *Verification* |
        | Launch [" + testBinary + "] | App launches normally |
        | Select [Provider] button | |
        | Select [nokia] | |
        | Select [Search] button | |
        | Select [Search Center] button | |
        | Fill in [" + latitude + "] in Latitude field | |
        | Fill in [" + longitude + "] in Longitude field | |
        | Select [Go!] button | |
        | Fill in [" + search_string + "] in Search field | |
        | Select Loupe icon | |
        | Expand panel with results | |
        | Select [" + place + "] | |
        | Select [Editorials] | Verify that there are [" + editorials + "] editorials. |
        | | Verify that there is [" + editorial_name + "] |
        | | Verify that icon indicates the editorial as [" + editorial_icon + "] one |
        | Select [" + editorial_name + "] | Verify that text starts with [" + editorial_text + "] |
        | | Verify that author as [" + editorial_author + "] one |"
        ));
    },

    qml_place_images_data: {
        search_string:["48.9", "2.4", "marfil", "Marfil (Le) 8.3km", "3"]
    },

    qml_place_images: function(latitude, longitude, search_string, place, images)
    {
        // Test meta data
        testTitle = "QML: Places - Retrieval of images";
        testBinary = "qml_location_places";
        testSource = "$QTDIR/qtlocation/examples/declarative/places"
        testGoal = "Verify that editorials for places can be obtained.";
        testPreconditions = "Internet connection is required for this test case. Pass proxy settings to app if needed.";
        testGroups = "BAT,5.0";
        testRequirements = "MTMW-191: Place Retrieval";

        // Test steps
        prompt(twiki("---+++ " + testTitle + "<br><br>
        *Goal:* " + testGoal + "<br>
        *Pre-Requisites:* " + testPreconditions + "<br>
        *Tested Binary:* " + testBinary + "<br>
        *Requirements:* " + testRequirements + "<br>

        | *Step* | *Verification* |
        | Launch [" + testBinary + "] | App launches normally |
        | Select [Provider] button | |
        | Select [nokia] | |
        | Select [Search] button | |
        | Select [Search Center] button | |
        | Fill in [" + latitude + "] in Latitude field | |
        | Fill in [" + longitude + "] in Longitude field | |
        | Select [Go!] button | |
        | Fill in [" + search_string + "] in Search field | |
        | Select Loupe icon | |
        | Expand panel with results | |
        | Select [" + place + "] | |
        | Select [Images] | Verify that there are [" + images + "] images with restaurant view/dish. |"
        ));
    },

    qml_place_reviews_data: {
        tripadviser:["48.9", "2.4", "sushi", "Tamako(sushi/coreen) 2.2km", "1", "Nous y allons...", "Nous avons decouvert ce...", "4", "TripAdvisor"],
        nokiauser:["48.9", "2.4", "marfil", "marfil (le) 8.3km", "1", "empty", "Nice place, good food", "3", "Nokia User"]
    },

    qml_place_reviews: function(latitude, longitude, search_string, place, reviews, review_name, review_text, review_raiting, review_author)
    {
        // Test meta data
        testTitle = "QML: Places - Retrieval of reviews";
        testBinary = "qml_location_places";
        testSource = "$QTDIR/qtlocation/examples/declarative/places"
        testGoal = "Verify that editorials for places can be obtained.";
        testPreconditions = "Internet connection is required for this test case. Pass proxy settings to app if needed.";
        testGroups = "BAT,5.0";
        testRequirements = "MTMW-191: Place Retrieval";

        // Test steps
        prompt(twiki("---+++ " + testTitle + "<br><br>
        *Goal:* " + testGoal + "<br>
        *Pre-Requisites:* " + testPreconditions + "<br>
        *Tested Binary:* " + testBinary + "<br>
        *Requirements:* " + testRequirements + "<br>

        | *Step* | *Verification* |
        | Launch [" + testBinary + "] | App launches normally |
        | Select [Provider] button | |
        | Select [nokia] | |
        | Select [Search] button | |
        | Select [Search Center] button | |
        | Fill in [" + latitude + "] in Latitude field | |
        | Fill in [" + longitude + "] in Longitude field | |
        | Select [Go!] button | |
        | Fill in [" + search_string + "] in Search field | |
        | Select Loupe icon | |
        | Expand panel with results | |
        | Select [" + place + "] | |
        | Select [Reviews] | Verify that first review has [" + review_name + "] title. |
        | | Verify that there are [" + reviews + "] reviews in total. |
        | Select [" +review_name + "] | Verify that text starts with [" + review_text + "] |
        | | Verify that the place has [" + review_raiting + "] rating |
        | | Verify that author is [" + review_author + "] |"
        ));
    },

    qml_place_retrieval_data: {
        not_prime_place:["48.9", "2.4", "marfil", "Marfil (Le) 8.3km", "not prime", "4", "4 Auguste Vacqueri 75116 Paris France",
                         "Restaurant", "+33147206252"],
        prime_place:["48.9", "2.4", "La Romantica", "La Romantica 7.0km", "prime", "4", "73 Boulevard Jean Jaures 92110 Clichy France",
                         "Hospital or health Care Facility, Restaurant", "+33147372971"]

    },

    qml_place_retrieval: function(latitude, longitude, search_string, place, icon, rating, address, categories, phone)
    {
        // Test meta data
        testTitle = "QML: Places - Retrieval of general data of a place";
        testBinary = "qml_location_places";
        testSource = "$QTDIR/qtlocation/examples/declarative/places"
        testGoal = "Verify that general information about place can be obtained.";
        testPreconditions = "Internet connection is required for this test case. Pass proxy settings to app if needed.";
        testGroups = "BAT,5.0";
        testRequirements = "MTMW-191: Place Retrieval";

        // Test steps
        prompt(twiki("---+++ " + testTitle + "<br><br>
        *Goal:* " + testGoal + "<br>
        *Pre-Requisites:* " + testPreconditions + "<br>
        *Tested Binary:* " + testBinary + "<br>
        *Requirements:* " + testRequirements + "<br>

        | *Step* | *Verification* |
        | Launch [" + testBinary + "] | App launches normally |
        | Select [Provider] button | |
        | Select [nokia] | |
        | Select [Search] button | |
        | Select [Search Center] button | |
        | Fill in [" + latitude + "] in Latitude field | |
        | Fill in [" + longitude + "] in Longitude field | |
        | Select [Go!] button | |
        | Fill in [" + search_string + "] in Search field | |
        | Select Loupe icon button | |
        | Expand panel with results | |
        | Select [" + place + "] | Verify that place has rating [" + rating + "] |
        | | Verify that icon indicates that it is [" + icon + "] place. |
        | | Verify that address is [" + address + "]. |
        | | Verify that categories are [" + categories + "]. |
        | | Verify that phone is [" + phone + "]. |"
        ));
    },

    qml_sponsored_result_data:{
        data:["48.9", "2.4", "La Romantica", "La Romantica 7.0km", "La Romantica 26km"]
    },

    qml_sponsored_result: function(latitude, longitude, search_string, sponsored_place, not_sponsored_place)
    {
        // Test meta data
        testTitle = "QML: Places - Sponsored result";
        testBinary = "qml_location_places";
        testSource = "$QTDIR/qtlocation/examples/declarative/places"
        testGoal = "Verify that general information about place can be obtained.";
        testPreconditions = "Internet connection is required for this test case. Pass proxy settings to app if needed.";
        testGroups = "BAT,5.0";
        testRequirements = "MTMW-191: Place Retrieval";

        // Test steps
        prompt(twiki("---+++ " + testTitle + "<br><br>
        *Goal:* " + testGoal + "<br>
        *Pre-Requisites:* " + testPreconditions + "<br>
        *Tested Binary:* " + testBinary + "<br>
        *Requirements:* " + testRequirements + "<br>

        | *Step* | *Verification* |
        | Launch [" + testBinary + "] | App launches normally |
        | Select [Provider] button | |
        | Select [nokia] | |
        | Select [Search] button | |
        | Select [Search Center] button | |
        | Fill in [" + latitude + "] in Latitude field | |
        | Fill in [" + longitude + "] in Longitude field | |
        | Select Go! button | |
        | Fill in [" + search_string + "] in Search field | |
        | Select Loupe icon | |
        | Expand panel with results | Verify that [" + sponsored_place + "] is a sponsored place. |
        | | Verify that [" + not_sponsored_place + "] is not a sponsored place. |"
        ));
    },

    qml_categories_management_data: {
        category:["mycategory", "mynewcategory"]
    },

    qml_categories_management: function(name, newname)
    {
        // Test meta data
        testTitle = "QML: Places - Creating, editing and deleting categories";
        testBinary = "qml_location_places";
        testSource = "$QTDIR/qtlocation/examples/declarative/places"
        testGoal = "Verify that categories can be created, edited and deleted.";
        testPreconditions = "Jsondb plugin is available. Jsondb is in initial state.";
        testGroups = "BAT,5.0";
        testRequirements = "MTMW-192: Place interaction";

        // Test steps
        prompt(twiki("---+++ " + testTitle + "<br><br>
        *Goal:* " + testGoal + "<br>
        *Pre-Requisites:* " + testPreconditions + "<br>
        *Tested Binary:* " + testBinary + "<br>
        *Requirements:* " + testRequirements + "<br>

        | *Step* | *Verification* |
        | Launch [" + testBinary + "] | App launches normally |
        | Select [Provider] button | |
        | Select [places_jsondb] | |
        | Select Category icon | Verify that there are no categories |
        | Select Category icon | |
        | Select [New] button | |
        | Select [Category] button | |
        | Fill in [" + name + "] in Name field | |
        | Select [Go!] button | |
        | Select Category icon | Verify that there is only [" + name + "] |
        | Select [Edit] button | |
        | Fill in [" + newname + "] in Name field | |
        | Select [Go!] button | |
        | Select Category icon | Verify that there is only [" + newname + "] |
        | Select [Delete] button | Verify that there are no categories | "
        ));
    },

    qml_places_management_data: {
        place:["myplace", "mynewplace","-27.5", "153"]
    },

    qml_places_management: function(name, newname, latitude,longitude)
    {
        // Test meta data
        testTitle = "QML: Places - Creating, editing and deleting places";
        testBinary = "qml_location_places";
        testSource = "$QTDIR/qtlocation/examples/declarative/places"
        testGoal = "Verify that places can be created, edited and deleted.";
        testPreconditions = "Jsondb plugin is available. Jsondb is in initial state.";
        testGroups = "BAT,5.0";
        testRequirements = "MTMW-192: Place interaction";

        // Test steps
        prompt(twiki("---+++ " + testTitle + "<br><br>
        *Goal:* " + testGoal + "<br>
        *Pre-Requisites:* " + testPreconditions + "<br>
        *Tested Binary:* " + testBinary + "<br>
        *Requirements:* " + testRequirements + "<br>

        | *Step* | *Verification* |
        | Launch [" + testBinary + "] | App launches normally |
        | Select [Provider] button | |
        | Select [places_jsondb] | |
        | Select [New] button | |
        | Select [Place] button | |
        | Fill in [" + name + "] in Name field | |
        | Fill in [" + latitude + "] in Latitude field | |
        | Fill in [" + longitude + "] in Longitude field | |
        | Select Go! button | |
        | Fill in [" + name + "] in search field | |
        | Select Loupe icon | |
        | Expand panel with results | Verify that only [" + name + "] is found in 0m away |
        | Select [" + name + "] | |
        | Select [Edit] button | |
        | Fill in [" + newname + "] in Name field | |
        | Select [Go!] button | |
        | Fill in [" + name + "] in Search field | |
        | Select Loupe icon | Verify that no places are found |
        | Fill in [" + newname + "] in search field | |
        | Select Loupe icon | Verify that only [" + newname + "] is found in 0m away |
        | Select [" + newname + "] | |
        | Select [Delete] button | |
        | Fill in [" + newname + "] in Search field | |
        | Select Loupe icon | Verify that no places are found |"
        ));
    },

    qml_favorite_places_data: {
        search_string:["-27.5", "153", "sushi", "Oz Sushi 1.9km" ]
    },

    qml_favorite_places: function(latitude, longitude, search_string, place )
    {
        // Test meta data
        testTitle = "QML: Places - Favorites";
        testBinary = "qml_location_places";
        testSource = "$QTDIR/qtlocation/examples/declarative/places"
        testGoal = "Verify that places can be marked as favorite.";
        testPreconditions = "Jsondb plugin is available. Jsondb is in initial state.";
        testGroups = "BAT,5.0";
        testRequirements = "MOBILITY-2861";

        // Test steps
        prompt(twiki("---+++ " + testTitle + "<br><br>
        *Goal:* " + testGoal + "<br>
        *Pre-Requisites:* " + testPreconditions + "<br>
        *Tested Binary:* " + testBinary + "<br>
        *Requirements:* " + testRequirements + "<br>

        | *Step* | *Verification* |
        | Launch [" + testBinary + "] | App launches normally |
        | Select [Provider] button | |
        | Select [nokia] | |
        | Select [Search] button | |
        | Select [Search Center] button | |
        | Fill in [" + latitude + "] in Latitude field | |
        | Fill in [" + longitude + "] in Longitude field | |
        | Select [Go!] button | |
        | Select [Search] button | |
        | Select [Search Options] button | |
        | Select [Enable favorites] button | |
        | Fill in [" + search_string + "] in Search field | |
        | Select Loupe icon | |
        | Expand panel with results | |
        | Select [" + place + "] | |
        | Select [Save as Favorite] button | |
        | Select back button | Verify that [" + place + "] has a star |
        | Hide search results | |
        | Select [Provider] | |
        | Select [places_jsondb] | |
        | Fill in [" + search_string + "] in Search field | |
        | Select Loupe icon | |
        | Expand panel with results | Verify that list contains [" + place + "] |
        | Select [" + place + "] | |
        | Select [Delete] | |
        | Hide search results | |
        | Select [Provider] button | |
        | Select [nokia] | |
        | Fill in [" + search_string + "] in Search field | |
        | Select Loupe icon | |
        | Expand panel with results | Verify that [" + place + "] has no star |
        | Select [" + place + "] | |
        | Select [Save as Favorite] button | |
        | Select back button | Verify that [" + place + "] has a star |
        | Select [" + place + "] | |
        | Select [Remove Favorite] button | |
        | Select back button | Verify that [" + place + "] has no star |"
        ));
    },

    qml_places_and_locale_data: {
        greek_string:["38", "24", "pizza", "el", "Greek"],
        english_string:["38", "24", "pizza", "en", "English"]
    },

    qml_places_and_locale: function(latitude, longitude, search_string, locale, language)
    {
        // Test meta data
        testTitle = "QML: Places - Locale handling";
        testBinary = "qml_location_places";
        testSource = "$QTDIR/qtlocation/examples/declarative/places"
        testGoal = "Verify that places can be found for different locale.";
        testPreconditions = "Internet connection is required for this test case. Pass proxy settings to app if needed. ";
        testGroups = "BAT,5.0";
        testRequirements = "MOBILITY-2861";

        // Test steps
        prompt(twiki("---+++ " + testTitle + "<br><br>
        *Goal:* " + testGoal + "<br>
        *Pre-Requisites:* " + testPreconditions + "<br>
        *Tested Binary:* " + testBinary + "<br>
        *Requirements:* " + testRequirements + "<br>

        | *Step* | *Verification* |
        | Launch [" + testBinary + "] | App launches normally |
        | Select [Provider] button | |
        | Select [nokia] | |
        | Select [Search] button | |
        | Select [Search Options] button | |
        | Fill in [" + locale + "] in Locale(s) field | |
        | Select [Go!] button | |
        | Select [Search] button | |
        | Select [Search Center] button | |
        | Fill in [" + latitude + "] in Latitude field | |
        | Fill in [" + longitude + "] in Longitude field | |
        | Select [Go!] button | |
        | Fill in [" + search_string + "] in Search field | |
        | Select Loupe icon | |
        | Expand panel with seacrh results | |
        | Select the fist place | Verify that Category name is in [" + language + "] |"
       ));
    },


    qml_searching_for_places_by_category_inside_bounding_box_data: {
        category:["category 1", "category 2", "sushi 1", "-26", "153", "sushi 2", "-27", "153", "sushi 3", "-27.5", "153",
            "-27.5", "153", "0.5", "1"]
    },

    qml_searching_for_places_by_category_inside_bounding_box: function(category1, category2, place1, lat1, long1,
                                                                       place2, lat2, long2, place3, lat3, long3,
                                                                       latitude, longitude, width, height)
    {
        // Test meta data
        testTitle = "QML: Places - Searching by category inside bounding box";
        testBinary = "qml_location_places";
        testSource = "$QTDIR/qtlocation/examples/declarative/places"
        testGoal = "Verify that places can be found.";
        testPreconditions = "Jsondb plugin is available. Jsondb is in initial state";
        testGroups = "BAT,5.0";
        testRequirements = "MTMW-190: Place Discovery";

        // Test steps
        prompt(twiki("---+++ " + testTitle + "<br><br>
        *Goal:* " + testGoal + "<br>
        *Pre-Requisites:* " + testPreconditions + "<br>
        *Tested Binary:* " + testBinary + "<br>
        *Requirements:* " + testRequirements + "<br>

        | *Step* | *Verification* |
        | Launch [" + testBinary + "] | App launches normally |
        | Select [Provider] button | |
        | Select [places_jsondb] | |
        | Select [New] button | |
        | Select [Category] button | |
        | Fill in [" + category1 + "] in Name field | |
        | Select [Go!] button | |
        | Select [New] button | |
        | Select [Category] button | |
        | Fill in [" + category2 + "] in Name field | |
        | Select [Go!] button | |
        | Select [New] button | |
        | Select [Place] button | |
        | Fill in [" + lat1 + "] in Latitude field | |
        | Fill in [" + long1 + "] in Longitude field | |
        | Fill in [" + place1 + "] in Name field | |
        | Select [Add Category] button | |
        | Select [" + category1 + "] | |
        | Select [Go!] button | |
        | Select [New] button | |
        | Select [Place] button | |
        | Fill in [" + lat2 + "] in Latitude field | |
        | Fill in [" + long2 + "] in Longitude field | |
        | Fill in [" + place2 + "] in Name field | |
        | Select [Add Category] button | |
        | Select [" + category1 + "] | |
        | Select [Go!] button | |
        | Select [New] button | |
        | Select [Place] button | |
        | Fill in [" + lat3 + "] in Latitude field | |
        | Fill in [" + long3 + "] in Longitude field | |
        | Fill in [" + place3 + "] in Name field | |
        | Select [Add Category] button | |
        | Select [" + category2 + "] | |
        | Select [Go!] button | |
        | Select [Search] button | |
        | Select [Search by Bounding Box] button | |
        | Select [Clear] button | |
        | Fill in [" + latitude + "] in Latitude field | |
        | Fill in [" + longitude + "] in Longitude field | |
        | Fill in [" + width + "] in Width field | |
        | Fill in [" + height + "] in Height field | |
        | Select [Go!] button | |
        | Select Category icon | |
        | Select [" + category1 + "] | |
        | Expand panel with seacrh results | Verify that the list contains only [" + place2 + "] |"
        ));
    },

    qml_searching_for_places_by_category_inside_bounding_circle_data: {
        category:["category 1", "category 2", "sushi 1", "-26", "153", "sushi 2", "-27", "153", "sushi 3", "-27.5", "153",
            "-27.5", "153", "100000"]
    },

    qml_searching_for_places_by_category_inside_bounding_circle: function(category1, category2, place1, lat1, long1,
                                                                       place2, lat2, long2, place3, lat3, long3,
                                                                       latitude, longitude, radius)
    {
        // Test meta data
        testTitle = "QML: Places - Searching by category inside bounding circle";
        testBinary = "qml_location_places";
        testSource = "$QTDIR/qtlocation/examples/declarative/places"
        testGoal = "Verify that places can be found.";
        testPreconditions = "Jsondb plugin is available. Jsondb is in initial state";
        testGroups = "BAT,5.0";
        testRequirements = "MTMW-190: Place Discovery";

        // Test steps
        prompt(twiki("---+++ " + testTitle + "<br><br>
        *Goal:* " + testGoal + "<br>
        *Pre-Requisites:* " + testPreconditions + "<br>
        *Tested Binary:* " + testBinary + "<br>
        *Requirements:* " + testRequirements + "<br>

        | *Step* | *Verification* |
        | Launch [" + testBinary + "] | App launches normally |
        | Select [Provider] button | |
        | Select [places_jsondb] | |
        | Select [New] button | |
        | Select [Category] button | |
        | Fill in [" + category1 + "] in Name field | |
        | Select [Go!] button | |
        | Select [New] button | |
        | Select [Category] button | |
        | Fill in [" + category2 + "] in Name field | |
        | Select [Go!] button | |
        | Select [New] button | |
        | Select [Place] button | |
        | Fill in [" + lat1 + "] in Latitude field | |
        | Fill in [" + long1 + "] in Longitude field | |
        | Fill in [" + place1 + "] in Name field | |
        | Select [Add Category] button | |
        | Select [" + category1 + "] | |
        | Select [Go!] button | |
        | Select [New] button | |
        | Select [Place] button | |
        | Fill in [" + lat2 + "] in Latitude field | |
        | Fill in [" + long2 + "] in Longitude field | |
        | Fill in [" + place2 + "] in Name field | |
        | Select [Add Category] button | |
        | Select [" + category1 + "] | |
        | Select [Go!] button | |
        | Select [New] button | |
        | Select [Place] button | |
        | Fill in [" + lat3 + "] in Latitude field | |
        | Fill in [" + long3 + "] in Longitude field | |
        | Fill in [" + place3 + "] in Name field | |
        | Select [Add Category] button | |
        | Select [" + category2 + "] | |
        | Select [Go!] button | |
        | Select [Search] button | |
        | Select [Search by Bounding Circle] button | |
        | Select [Clear] button | |
        | Fill in [" + latitude + "] in Latitude field | |
        | Fill in [" + longitude + "] in Longitude field | |
        | Fill in [" + radius + "] in Radius field | |
        | Select [Go!] button | |
        | Select Category icon | |
        | Select [" + category1 + "] | |
        | Expand panel with seacrh results | Verify that the list contains only [" + place2 + "] |"
        ));
    },

    qml_searching_for_places_by_subcategory_data: {
        data:["48.9", "2.4", "Pharmacy"]
    },

/*
    qml_searching_for_places_by_subcategory: function(latitude, longitude, subcategory)
    {
        // Test meta data
        testTitle = "QML: Places - Searching by subcategory";
        testBinary = "qml_location_places";
        testSource = "$QTDIR/qtlocation/examples/declarative/places"
        testGoal = "Verify that places can be found.";
        testPreconditions = "Internet connection is required for this test case. Pass proxy settings to app if needed.";
        testGroups = "BAT,5.0";
        testRequirements = "MTMW-190: Place Discovery";
        Skip("test is not supported by benchmark app", SkipAll);
    },

    qml_searching_for_places_by_multiple_categories_data: {
        data:["48.9", "2.4", "Shopping", "Accomodation"]
    },

    qml_searching_for_places_by_multiple_categories: function(latitude, longitude, category1, category2)
    {
        // Test meta data
        testTitle = "QML: Places - Searching by multiple categories";
        testBinary = "qml_location_places";
        testSource = "$QTDIR/qtlocation/examples/declarative/places"
        testGoal = "Verify that places can be found.";
        testPreconditions = "Internet connection is required for this test case. Pass proxy settings to app if needed.";
        testGroups = "BAT,5.0";
        testRequirements = "MTMW-190: Place Discovery";
        Skip("test is not supported by benchmark app", SkipAll);
    },
*/
    qml_searching_for_places_by_string_inside_bounding_box_data: {
        data: ["sushi 1", "-27.5", "153", "sushi 2", "-27", "153", "-27.1", "153", "0.3", "0.3", "sushi" ]
    },

    qml_searching_for_places_by_string_inside_bounding_box: function(name1, lat1, long1, name2, lat2, long2, box_lat, box_long, box_width, box_height, search_string)
    {
        // Test meta data
        testTitle = "QML: Places - Searching by text string inside bounding box";
        testBinary = "qml_location_places";
        testSource = "$QTDIR/qtlocation/examples/declarative/places"
        testGoal = "Verify that places can be found.";
        testPreconditions = "Jsondb plugin is available. Jsondb is in initial state.";
        testGroups = "BAT,5.0";
        testRequirements = "MTMW-190: Place Discovery";

        // Test steps
        prompt(twiki("---+++ " + testTitle + "<br><br>
        *Goal:* " + testGoal + "<br>
        *Pre-Requisites:* " + testPreconditions + "<br>
        *Tested Binary:* " + testBinary + "<br>
        *Requirements:* " + testRequirements + "<br>

        | *Step* | *Verification* |
        | Launch [" + testBinary + "] | App launches normally |
        | Select [Provider] button | |
        | Select [places_jsondb] | |
        | Select [New] button | |
        | Select [Place] button | |
        | Fill in [" + name1 + "] in Name field | |
        | Fill in [" + lat1 + "] in Latitude field | |
        | Fill in [" + long1 + "] in Longitude field | |
        | Select [Go!] button | |
        | Select [New] button | |
        | Select [Place] button | |
        | Fill in [" + name2 + "] in Name field | |
        | Fill in [" + lat2 + "] in Latitude field | |
        | Fill in " + long2 + " in Longitude field | |
        | Select [Go!] button | |
        | Select [Search] | |
        | Select [Search Bounding Box] | |
        | Fill in [" + box_lat + "] in Latitude field | |
        | Fill in [" + box_long + "] in Longitude field | |
        | Fill in [" + box_width + "] in Width field | |
        | Fill in [" + box_height + "] in Height field | |
        | Select [Go!] button | |
        | Fill in [" + search_string + "] in Search field | |
        | Select Loupe icon | |
        | Expand panel with seacrh results | Verify that only [" + name2 + "] is listed |"
       ));
    },

    qml_searching_for_places_by_string_inside_bounding_circle_data: {
        data: ["sushi 1", "-27.5", "153", "sushi 2", "-27", "153", "-27.5", "153", "10000", "sushi" ]
    },

    qml_searching_for_places_by_string_inside_bounding_circle: function(name1, lat1, long1, name2, lat2, long2, centre_lat, centre_long, radius, search_string)
    {
        // Test meta data
        testTitle = "QML: Places - Searching by text string inside bounding circle";
        testBinary = "qml_location_places";
        testSource = "$QTDIR/qtlocation/examples/declarative/places"
        testGoal = "Verify that places can be found.";
        testPreconditions = "Jsondb plugin is available. Jsondb is in initial state.";
        testGroups = "BAT,5.0";
        testRequirements = "MTMW-190: Place Discovery";

        // Test steps
        prompt(twiki("---+++ " + testTitle + "<br><br>
        *Goal:* " + testGoal + "<br>
        *Pre-Requisites:* " + testPreconditions + "<br>
        *Tested Binary:* " + testBinary + "<br>
        *Requirements:* " + testRequirements + "<br>

        | *Step* | *Verification* |
        | Launch [" + testBinary + "] | App launches normally |
        | Select [Provider] button | |
        | Select [places_jsondb] | |
        | Select [New] button | |
        | Select [Place] button | |
        | Fill in [" + name1 + "] in Name field | |
        | Fill in [" + lat1 + "] in Latitude field | |
        | Fill in [" + long1 + "] in Longitude field | |
        | Select [Go!] button | |
        | Select [New] button | |
        | Select [Place] button | |
        | Fill in [" + name2 + "] in Name field | |
        | Fill in [" + lat2 + "] in Latitude field | |
        | Fill in [" + long2 + "] in Longitude field | |
        | Select [Go!] button | |
        | Select [Search] | |
        | Select [Search Bounding Circle] | |
        | Fill in [" + centre_lat + "] in Latitude field | |
        | Fill in [" + centre_long + "] in Longitude field | |
        | Fill in [" + radius + "] in Width field | |
        | Select [Go!] button | |
        | Fill in [" + search_string + "] in Search field | |
        | Select Loupe icon | |
        | Expand panel with seacrh results | Verify that only [" + name1 + "] is listed |"
       ));
    }

}  // end of testcase
