* '''Test plan for component''': address-book-app * '''Component Checklist''': https://wiki.ubuntu.com/Process/Merges/Checklists/system-apps * '''Trunk URL''': lp:address-book-app * '''Ubuntu Package URL (LP)''': http://launchpad.net/ubuntu/+source/address-book-app == Dependents/Clients == None == Test Plan == '''This test plan is not supposed to be complete; use it to guide your manual testing so they dont miss big functional areas that are part in the component; also this should be used as guideline to inspire the exploratory testing which should be adapted smartly based on the real content of a MP''' * Install latest (trusty-proposed) image on phone * Install freshly build MPs that are needed for landing * Ensure that all AP tests pass on the device. * Test creating new contact with First Name, Last Name, phone number and email address * enter the phone number 6175551212 and verify it's formatted as (617)555-1212 * Test editing contact: add additional email, additional phone number, modify existing phone number * Test deleting a contact * Test calling a contact from contact details * Test messaging a contact from contact details * Test setting a profile picture for the contact from contact details * Test favoriting/unfavoriting a contact * Test switching between "Favorite" view and "All" view * Add more than a page full of contacts such that you have to scroll, they should all have fist names that start with different letters. Then test the following: * click on a contact, then press back. make sure the contact is visible in the list * scroll the list to the top, then create a new contact with name starting with "Z". Ensure when creation complete the new contact is visible in the list. * Test creating a new contact from a dialer-app call log entry * Test adding a phone number to an existing contact from dialer-app call log entry * Test adding a phone number to an existing contact from a messaging-app conversation * Test the Contacts tab in the dialer-app and make sure you can call a contact by selecting contact from there * Test the Contacts tab in the dialer-app and make sure you can open a contacts details from there * Google Sync * Start with an empty address book. Verify that first time the app is run you are prompted to create a Google Account. * Verify after entering Google credentials you are returned to address book app automatically * Verify that your Google contacts are correctly displayed in the address book app. * Create a contact in your address book that only has a phone number. Verify it is correctly synced to Google. * VCard export * Open Gmail webapp and send a message to your desktop. Choose the attach button and select a contact from Contact app to attach * Send the message * Open the message on your desktop and download the vcard attachment * Open the vcard attachment in a text editor and verify that all of the fields contained in the Contact are correctly populated. * Test contact search (bug #1400468 - This test is already covered by the unit-test: tests/qml/tst_ContactListModel.qml) * Add the following contacts: || Name || Phone Number|| || Ubuntu Phone || 123-456 || || Foo Bar || 456-789 || || Number 13 || 789-0000 || * Try to search for: "00" should return only one contact: "Number 13" * Try to search for: "1" should return two contacts: "Ubuntu Phone", "Number 13" * Try to search for: "456" should return two contacts: "Ubuntu Phone", "Foo Bar" * Try to search for: "Number" should return one contact: "Number 13" * Test multi-line field entry * copy some multiline text from webbrowser * create a new contact * paste the clipboard into one of the address fields for the contact * save the contact * then try to edit the contact, change some other fields * verify should be able to edit the contact normally and save the changes * Test frequent called list * Make sure that you have more then 5 contacts on your frequent called list * You need to make calls to different contacts to get the list populated * Make sure that you have more then 5 contacts on your favorite list * Open address-book-app and go to favorite list * Scroll the list until the first favorite contact became partially visible * Click on the first favorite contact * The list should move to a position where the clicked contact became fully visible * Test vcard import * Import a vcard into contacts app using content-hub: * You can use gmail webapp or messaging app to receive vcards on the phone: * Example vcard: [[attachment:ubuntu_contacts.vcf|ubuntu_contacts.vcf]] * Test if a list with imported contacts appear * Test if the imported contact was imported to default address-book. * Test change the default address-book: * Open address-book app * Enter on settings page * Select a different "Default address book" * Close settings page * Do a bottom edge swipe to create a new contact * Check if the selected address-book is the one that you choose on settings page. * Save the contact * Open the recent created contact and check if the address-book is the correct one * Re-run the "Test vcard import" after changing the default address book and make sure the imported vcard is created on the default address book * Create a new online account and enable contact sync on it * then open address book settings and make sure the new account is displayed on the list * make sure the new account is not set by default * Delete the account from online accounts that is currently set as default in address book * verify that default account in address book returns to "Personal" === Keyboard navigation === * Test if all shortcuts are working: || Shortcut || Page || Action || || Esc || all || Back (Page stack) || || Ctrl + F || Contact List || Search || || Ctrl + N || Contact List || Bottom edge (create new) || || Ctrl + E || Contact View || Edit selected contact || || Ctrl + S || Contact Editor || Save current contact || || Ctrl + Deleted || Contact Editor || Delete current contact || * Navigation: * Contact List Page * Contact List: * Arrow Up / Arrow Down: Navigate between contacts on the contact list: * On top of the list arrow up should focus on search field (if visible) * On bottom of the list arrow down should do nothing * Search field: * Arrow down should focus on contact list * Editor page: * Tab: should cycle on TextFields * Settings page: * Arrow Up / Arrow Down: Navigate between enabled options * Enter: Active the selected option