2 * ownCloud Android client application
5 * Copyright (C) 2015 ownCloud Inc.
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2,
9 * as published by the Free Software Foundation.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
21 package com
.owncloud
.android
.test
.ui
.testSuites
;
23 import static org
.junit
.Assert
.*;
24 import io
.appium
.java_client
.android
.AndroidDriver
;
26 import org
.junit
.After
;
27 import org
.junit
.Before
;
28 import org
.junit
.Rule
;
29 import org
.junit
.experimental
.categories
.Category
;
30 import org
.junit
.rules
.TestName
;
31 import org
.junit
.runners
.MethodSorters
;
32 import org
.junit
.FixMethodOrder
;
33 import org
.junit
.Test
;
35 import com
.owncloud
.android
.test
.ui
.actions
.Actions
;
36 import com
.owncloud
.android
.test
.ui
.groups
.NoIgnoreTestCategory
;
37 import com
.owncloud
.android
.test
.ui
.groups
.SmokeTestCategory
;
38 import com
.owncloud
.android
.test
.ui
.models
.ElementMenuOptions
;
39 import com
.owncloud
.android
.test
.ui
.models
.FileListView
;
40 import com
.owncloud
.android
.test
.ui
.models
.NewFolderPopUp
;
41 import com
.owncloud
.android
.test
.ui
.models
.WaitAMomentPopUp
;
44 @FixMethodOrder(MethodSorters
.NAME_ASCENDING
)
45 public class RenameFolderTestSuite
{
49 private Boolean folderHasBeenCreated
= false
;
50 private final String OLD_FOLDER_NAME
= "beforeRemoving";
51 private final String FOLDER_NAME
= "testCreateFolder";
52 private String CurrentCreatedFolder
= "";
54 @Rule public TestName name
= new TestName();
58 public void setUp() throws Exception
{
60 driver
=common
.setUpCommonDriver();
64 @Category({NoIgnoreTestCategory
.class, SmokeTestCategory
.class})
65 public void testRenameFolder () throws Exception
{
66 FileListView fileListView
= Actions
.login(Config
.URL
, Config
.user
,
67 Config
.password
, Config
.isTrusted
, driver
);
68 common
.assertIsInFileListView();
70 //TODO. if the folder already exists, do no created
71 //create the folder to rename
72 WaitAMomentPopUp waitAMomentPopUp
= Actions
73 .createFolder(OLD_FOLDER_NAME
, fileListView
);
74 Common
.waitTillElementIsNotPresent(
75 waitAMomentPopUp
.getWaitAMomentTextElement(), 100);
76 fileListView
.scrollTillFindElement(OLD_FOLDER_NAME
);
79 folderHasBeenCreated
= fileListView
.getFileElement().isDisplayed());
81 //check if the folder with the new name already exists
82 //and if true, delete them
83 Actions
.deleteElement(FOLDER_NAME
, fileListView
, driver
);
85 CurrentCreatedFolder
= OLD_FOLDER_NAME
;
86 ElementMenuOptions menuOptions
= fileListView
87 .longPressOnElement(OLD_FOLDER_NAME
);
88 NewFolderPopUp FolderPopUp
= menuOptions
.clickOnRename();
89 FolderPopUp
.typeNewFolderName(FOLDER_NAME
);
90 FolderPopUp
.clickOnNewFolderOkButton();
91 CurrentCreatedFolder
= FOLDER_NAME
;
92 Common
.waitTillElementIsNotPresent(waitAMomentPopUp
93 .getWaitAMomentTextElement(), 100);
94 fileListView
.scrollTillFindElement(FOLDER_NAME
);
95 assertNotNull(fileListView
.getFileElement());
97 folderHasBeenCreated
= fileListView
.getFileElement().isDisplayed());
98 assertEquals(FOLDER_NAME
, fileListView
.getFileElement().getText());
102 public void tearDown() throws Exception
{
103 common
.takeScreenShotOnFailed(name
.getMethodName());
104 if(folderHasBeenCreated
){
105 FileListView fileListView
= new FileListView(driver
);
106 Actions
.deleteElement(CurrentCreatedFolder
, fileListView
, driver
);
108 driver
.removeApp("com.owncloud.android");