/** AONE-15605:Form - Items */ @Test(groups = "Hybrid", enabled = true) public void AONE_15605() throws Exception { String testName = getTestName() + System.currentTimeMillis(); String user1 = getUserNameForDomain(testName + "opUser", testDomain); String cloudUser = getUserNameForDomain(testName + "cloudUser", testDomain); String cloudSite = getSiteName(testName) + "CL" + "-2"; String dueDate = getDueDateString(); String folderName = getFolderName(testName); createCloudAccount(testName); ShareUser.login(hybridDrone, cloudUser, DEFAULT_PASSWORD); ShareUser.createSite(hybridDrone, cloudSite, SITE_VISIBILITY_PUBLIC); ShareUserSitePage.createFolder(hybridDrone, folderName, folderName); ShareUser.logout(hybridDrone); // Login as OP user ShareUser.login(drone, user1, DEFAULT_PASSWORD); // Start Simple Cloud Task Workflow CloudTaskOrReviewPage cloudTaskOrReviewPage = ShareUserWorkFlow.startCloudReviewTaskWorkFlow(drone).render(); // ---- Step 1 ---- // --- Step action --- // Fill in all the fields except Items. // --- Expected results --- // Performed correctly. cloudTaskOrReviewPage.selectAfterCompleteDropDown(KeepContentStrategy.KEEPCONTENT); Assert.assertTrue( cloudTaskOrReviewPage.isAfterCompletionSelected(KeepContentStrategy.KEEPCONTENT)); Assert.assertFalse(cloudTaskOrReviewPage.isLockOnPremiseSelected()); cloudTaskOrReviewPage.selectLockOnPremiseCheckbox(true); Assert.assertTrue(cloudTaskOrReviewPage.isLockOnPremiseSelected()); cloudTaskOrReviewPage.enterDueDateText(dueDate); cloudTaskOrReviewPage.selectPriorityDropDown(Priority.HIGH); DestinationAndAssigneePage destinationAndAssigneePage = cloudTaskOrReviewPage.selectDestinationAndAssigneePage().render(); destinationAndAssigneePage.selectSite(cloudSite); destinationAndAssigneePage.selectSubmitButtonToSync(); AssignmentPage assignmentPage = cloudTaskOrReviewPage.selectAssignmentPage().render(); assignmentPage.selectAssignee(cloudUser); // ---- Step 2 ---- // --- Step action --- // Click on Start Workflow button // --- Expected results --- // Workflow could not be started' dialog with the message '08150481 At least one content item is // required to start a Cloud workflow' is displayed. cloudTaskOrReviewPage.clickStartWorkflow(); String error = cloudTaskOrReviewPage.getWorkFlowCouldNotBeStartedPromptMessage(); Assert.assertTrue( error.contains("At least one content item is required to start a Cloud workflow"), "Error is not displayed when no one file is added"); }
/** * Enterprise40x-6553:Search for items * * <ul> * <li>Search for Content using Keywords search criteria * <li>Search for Content using Name search criteria * <li>Search for Content using Title search criteria * <li>Search for Content using Description search criteria * <li>Search for Content using Mimetype search criteria * <li>Search for Content using Modified Date search criteria * <li>Search for Content using Modifier search criteria * <li>Click View in Browser icon * <li>Click Download icon * <li>Search for Folder using Keywords search criteria * <li>Search for Folder using Name search criteria * <li>Search for Folder using Title search criteria * <li>Search for Folder using Description search criteria * <li>Click on folder's path * <li>Sort the found items by any criteria * </ul> * * @throws Exception */ @Test(groups = {"Sanity", "Search"}) public void enterprise40x_6553() throws Exception { testName = getTestName(); String searchTerm = testName + "-" + System.currentTimeMillis(); Boolean searchOk; String testUser = getUserNameFreeDomain(searchTerm); String siteName = getSiteName(searchTerm); String folderName = getFolderName(searchTerm + "-1"); String folderName2 = getFolderName(searchTerm + "-2"); String fileName = getFileName(searchTerm); CreateUserAPI.CreateActivateUser(drone, ADMIN_USERNAME, testUser); ShareUser.login(drone, testUser, DEFAULT_PASSWORD); // Create a Site ShareUser.createSite(drone, siteName, SITE_VISIBILITY_PUBLIC).render(); // Open Document library ShareUser.openDocumentLibrary(drone); // Create 2 Folder ShareUserSitePage.createFolder(drone, folderName, folderName + "Title1", folderName + "Desc1"); ShareUserSitePage.createFolder(drone, folderName2, folderName + "Title2", folderName + "Desc2"); // Create 2 Documents for (int i = 0; i < 2; i++) { ContentDetails contentDetails = new ContentDetails(); contentDetails.setName(fileName + "-Name-0" + i); contentDetails.setTitle(fileName + "-Title-0" + i); contentDetails.setDescription(fileName + "-Desc-0" + i); ShareUser.createContent(drone, contentDetails, ContentType.PLAINTEXT); } htmlFileName = fileName + "-Name-0" + TEST_HTML_FILE; ShareUser.uploadFileInFolder(drone, new String[] {htmlFileName}); /** Start Test */ // Searching and sorting the content items List<String> searchInfo = Arrays.asList(ADV_CONTENT_SEARCH); Map<String, String> keyWordSearchText = new HashMap<String, String>(); DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); Calendar cal = Calendar.getInstance(); String todaysDate = dateFormat.format(cal.getTime()); cal.add(Calendar.DATE, -1); try { keyWordSearchText.put(SearchKeys.KEYWORD.getSearchKeys(), searchTerm); List<SearchResultItem> searchResults = null; // Content Search with keyword: common part of filename searchResults = ShareUserSearchPage.advanceSearch(drone, searchInfo, keyWordSearchText); // Check the Search Results: Search with Retry for Solr assertTrue( ShareUserSearchPage.checkSearchResultsWithRetry( drone, ADV_CONTENT_SEARCH, searchTerm, fileName + "-Name-01", true), "Incorrect Search Results for: Keyword search- " + searchTerm + " file1 not displayed"); searchOk = ShareUserSearchPage.isSearchItemAvailable(drone, fileName + "-Name-00"); Assert.assertTrue( searchOk, "Incorrect Search Results for Name search- " + searchTerm + ". Result item - " + fileName + "-Name-00" + " not found"); keyWordSearchText.clear(); // Searching for valid Name. searchTerm = "-Name-00"; keyWordSearchText.put(SearchKeys.NAME.getSearchKeys(), searchTerm); searchResults = ShareUserSearchPage.advanceSearch(drone, searchInfo, keyWordSearchText); searchOk = ShareUserSearchPage.isSearchItemAvailable(drone, fileName + searchTerm); Assert.assertTrue(searchOk, "Incorrect Search Results for Name search- " + searchTerm); keyWordSearchText.clear(); // Searching for valid Title string searchTerm = "-Title-01"; keyWordSearchText.put(SearchKeys.TITLE.getSearchKeys(), searchTerm); searchResults = ShareUserSearchPage.advanceSearch(drone, searchInfo, keyWordSearchText); searchOk = ShareUserSearchPage.isSearchItemAvailable(drone, fileName + "-Name-01"); Assert.assertTrue(searchOk, "Incorrect Search Results for Name search- " + searchTerm); keyWordSearchText.clear(); // Searching for valid Description string searchTerm = "-Desc-01"; keyWordSearchText.put(SearchKeys.DESCRIPTION.getSearchKeys(), searchTerm); ShareUserSearchPage.advanceSearch(drone, searchInfo, keyWordSearchText); searchOk = ShareUserSearchPage.isSearchItemAvailable(drone, fileName + "-Name-01"); Assert.assertTrue(searchOk, "Incorrect Search Results for Name search- " + searchTerm); keyWordSearchText.clear(); // Searching for valid MODIFIERTODATE string keyWordSearchText.put(SearchKeys.MODIFIERTODATE.getSearchKeys(), todaysDate); keyWordSearchText.put(SearchKeys.MODIFIERFROMDATE.getSearchKeys(), todaysDate); searchResults = ShareUserSearchPage.advanceSearch(drone, searchInfo, keyWordSearchText); assertTrue( searchResults.size() > 0, "There should be search results for to date - " + todaysDate); searchOk = ShareUserSearchPage.isSearchItemAvailable(drone, fileName + "-Name-01"); Assert.assertTrue( searchOk, "Incorrect Search Results for Name search- " + keyWordSearchText + ". Result item - " + fileName + "-Name-00"); keyWordSearchText.clear(); // Searching for valid Name and Mime type. keyWordSearchText.put(SearchKeys.MIME.getSearchKeys(), "HTML"); searchResults = ShareUserSearchPage.advanceSearch(drone, searchInfo, keyWordSearchText); assertTrue(searchResults.size() > 0, "There should be search results for html MIME TYPE."); searchOk = ShareUserSearchPage.isSearchItemAvailable(drone, htmlFileName); Assert.assertTrue( searchOk, "Incorrect Search Results for Name search- " + keyWordSearchText + ". Result item - " + fileName + "-Name-00" + " not found"); searchResults.clear(); keyWordSearchText.clear(); // Searching for valid Name and Mime type. keyWordSearchText.put(SearchKeys.MODIFIER.getSearchKeys(), testUser); searchResults = ShareUserSearchPage.advanceSearch(drone, searchInfo, keyWordSearchText); assertTrue( searchResults.size() > 0, "There should be search results for " + testUser + " as modifier."); searchOk = ShareUserSearchPage.isSearchItemAvailable(drone, fileName + "-Name-00"); Assert.assertTrue( searchOk, "Incorrect Search Results for Name search- " + keyWordSearchText + ". Result item - " + fileName + "-Name-00" + " not found"); searchResults.clear(); keyWordSearchText.clear(); // Folder Search: Searching with keyword searchInfo = Arrays.asList(ADV_FOLDER_SEARCH); searchTerm = folderName; keyWordSearchText.put(SearchKeys.KEYWORD.getSearchKeys(), searchTerm); searchResults = ShareUserSearchPage.advanceSearch(drone, searchInfo, keyWordSearchText); searchOk = ShareUserSearchPage.isSearchItemAvailable(drone, folderName); Assert.assertTrue( searchOk, "Incorrect Search Results for Name search- " + searchTerm + ". Result item - " + fileName + "-Name-00" + " not found"); keyWordSearchText.clear(); // Searching for valid Name. keyWordSearchText.put(SearchKeys.NAME.getSearchKeys(), searchTerm); searchResults = ShareUserSearchPage.advanceSearch(drone, searchInfo, keyWordSearchText); assertTrue(searchResults.size() > 0, "There should be search results for name on folder."); searchOk = ShareUserSearchPage.isSearchItemAvailable(drone, folderName); Assert.assertTrue( searchOk, "Incorrect Search Results for Name search- " + searchTerm + ". Result item - " + fileName + "-Name-00" + " not found"); keyWordSearchText.clear(); // Searching for valid Title string keyWordSearchText.put(SearchKeys.TITLE.getSearchKeys(), searchTerm); searchResults = ShareUserSearchPage.advanceSearch(drone, searchInfo, keyWordSearchText); assertTrue(searchResults.size() > 0, "There should be search results for title on folder."); searchOk = ShareUserSearchPage.isSearchItemAvailable(drone, folderName); Assert.assertTrue( searchOk, "Incorrect Search Results for Name search- " + searchTerm + ". Result item - " + folderName + " not found"); keyWordSearchText.clear(); // Searching for valid Description string keyWordSearchText.put(SearchKeys.DESCRIPTION.getSearchKeys(), searchTerm); searchResults = ShareUserSearchPage.advanceSearch(drone, searchInfo, keyWordSearchText); assertTrue( searchResults.size() > 0, "There should be search results for description on folder."); searchOk = ShareUserSearchPage.isSearchItemAvailable(drone, folderName); Assert.assertTrue( searchOk, "Incorrect Search Results for Name search- " + searchTerm + ". Result item - " + folderName + " not found"); // Sorting results by Name List<SearchResultItem> sortedByName = ShareUserSearchPage.sortSearchResults(drone, SortType.NAME); List<SearchResultItem> expectedResultsSortedByName = new ArrayList<SearchResultItem>(sortedByName); Collections.sort(expectedResultsSortedByName, new SortedSearchResultItemByName()); // Check Sort order for (int i = 0; (i < 5 && i < expectedResultsSortedByName.size()); i++) { assertTrue( expectedResultsSortedByName .get(i) .getTitle() .equalsIgnoreCase(sortedByName.get(i).getTitle()), "The results are not sorted as expected - " + expectedResultsSortedByName.get(i).getTitle() + " - " + sortedByName.get(i).getTitle()); } } catch (Throwable e) { reportError(drone, testName, e); } finally { testCleanup(drone, testName); } }
/** * Test - AONE-13004: CRM property validation * * <ul> * <li>Login * <li>Access the document details page for the account content created Via SF * <li>Verify that document details page should be displayed. * <li>Access the document details page for the contract content created Via SF. * <li>Verify that document details page should be displayed correctly * <li>Access the document details page for the oppor content created Via SF. * <li>Verify that document details page should be displayed correctly * <li>Access the document details page for the case content created Via SF. * <li>Verify that document details page should be displayed correctly * </ul> */ @Test public void AONE_13885() throws PageException, Exception { // Login ShareUser.login(drone, salesforceUserName, salesforcePassword); // Opening Site Document library page ShareUser.openSitesDocumentLibrary(drone, siteName); // Account content details page DocumentLibraryPage docLibPage = ShareUserSitePage.navigateToFolder(drone, attachments_Folder + SLASH + accountName); DocumentDetailsPage detailsPage = ShareUser.openDocumentDetailPage(drone, account_Content); // Get the properties from details page Map<String, Object> properties = detailsPage.getProperties(); Assert.assertNotNull(properties); Assert.assertFalse(properties.isEmpty()); Assert.assertTrue( ((String) properties.get("AccountIdentifier")).equalsIgnoreCase(accountIdentifier)); Assert.assertTrue(((String) properties.get("AccountName")).equalsIgnoreCase(accountName)); // Opening Site Document library page ShareUser.openDocumentLibrary(drone); // Contract content details page docLibPage = ShareUserSitePage.navigateToFolder( drone, attachments_Folder + SLASH + contractNameOrNumber); detailsPage = ShareUser.openDocumentDetailPage(drone, contract_Content); // Get the properties from details page properties.clear(); properties = detailsPage.getProperties(); Assert.assertNotNull(properties); Assert.assertFalse(properties.isEmpty()); Assert.assertTrue( ((String) properties.get("AccountIdentifier")).equalsIgnoreCase(accountIdentifier)); Assert.assertTrue( ((String) properties.get("ContractNumber")).equalsIgnoreCase(contractNameOrNumber)); Assert.assertTrue( ((String) properties.get("ContractName")).equalsIgnoreCase(contractNameOrNumber)); // Opening Site Document library page ShareUser.openDocumentLibrary(drone); // Opportunity content details page docLibPage = ShareUserSitePage.navigateToFolder(drone, attachments_Folder + SLASH + oppName); detailsPage = ShareUser.openDocumentDetailPage(drone, oppo_Content); // Get the properties from details page properties.clear(); properties = detailsPage.getProperties(); Assert.assertNotNull(properties); Assert.assertFalse(properties.isEmpty()); Assert.assertTrue( ((String) properties.get("AccountIdentifier")).equalsIgnoreCase(accountIdentifier)); Assert.assertTrue(((String) properties.get("OpportunityName")).equalsIgnoreCase(oppName)); // Opening Site Document library page ShareUser.openDocumentLibrary(drone); // Case content details page docLibPage = ShareUserSitePage.navigateToFolder(drone, attachments_Folder + SLASH + caseNameOrNumber); detailsPage = ShareUser.openDocumentDetailPage(drone, case_Content); // Get the properties from details page properties.clear(); properties = detailsPage.getProperties(); Assert.assertNotNull(properties); Assert.assertFalse(properties.isEmpty()); Assert.assertTrue( ((String) properties.get("AccountIdentifier")).equalsIgnoreCase(accountIdentifier)); Assert.assertTrue(((String) properties.get("CaseNumber")).equalsIgnoreCase(caseNameOrNumber)); Assert.assertTrue(((String) properties.get("CaseName")).equalsIgnoreCase(caseNameOrNumber)); }