c5070a0adcc733f4912622f7011ba16e05482e8b
[pub/Android/ownCloud.git] / automationTest / src / test / java / com / owncloud / android / test / ui / testSuites / MoveFileTestSuite.java
1 package com.owncloud.android.test.ui.testSuites;
2
3 import static org.junit.Assert.*;
4 import io.appium.java_client.android.AndroidDriver;
5
6 import org.junit.After;
7 import org.junit.Before;
8 import org.junit.FixMethodOrder;
9 import org.junit.Rule;
10 import org.junit.Test;
11 import org.junit.experimental.categories.Category;
12 import org.junit.rules.TestName;
13 import org.junit.runners.MethodSorters;
14
15 import com.owncloud.android.test.ui.actions.Actions;
16 import com.owncloud.android.test.ui.groups.NoIgnoreTestCategory;
17 import com.owncloud.android.test.ui.groups.SmokeTestCategory;
18 import com.owncloud.android.test.ui.models.ElementMenuOptions;
19 import com.owncloud.android.test.ui.models.FileListView;
20 import com.owncloud.android.test.ui.models.MoveView;
21 import com.owncloud.android.test.ui.models.WaitAMomentPopUp;
22
23
24
25 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
26 public class MoveFileTestSuite{
27 AndroidDriver driver;
28 Common common;
29 private String FOLDER_WHERE_MOVE = "folderWhereMove";
30 private String FILE_NAME = Config.fileToTestName;
31 @Rule public TestName name = new TestName();
32
33 @Before
34 public void setUp() throws Exception {
35 common=new Common();
36 driver=common.setUpCommonDriver();
37 }
38
39 @Test
40 @Category({NoIgnoreTestCategory.class, SmokeTestCategory.class})
41 public void testMoveFile () throws Exception {
42 WaitAMomentPopUp waitAMomentPopUp;
43
44 FileListView fileListView = Actions.login(Config.URL, Config.user,Config.password, Config.isTrusted, driver);
45 common.assertIsInFileListView();
46
47 //Common.waitTillElementIsNotPresent(fileListView.getProgressCircular(), 1000);
48
49 //check if the folder already exists and if true, delete them
50 Actions.deleteElement(FOLDER_WHERE_MOVE, fileListView, driver);
51 Actions.deleteElement(FILE_NAME, fileListView, driver);
52
53 //Create the folder where the other is gone to be moved
54 waitAMomentPopUp = Actions.createFolder(FOLDER_WHERE_MOVE, fileListView);
55 Common.waitTillElementIsNotPresent(waitAMomentPopUp.getWaitAMomentTextElement(), 100);
56 fileListView.scrollTillFindElement(FOLDER_WHERE_MOVE);
57 assertTrue(fileListView.getFileElement().isDisplayed());
58
59 FileListView fileListViewAfterUploadFile = Actions.uploadFile(FILE_NAME, fileListView);
60 fileListViewAfterUploadFile.scrollTillFindElement(FILE_NAME);
61 assertTrue(fileListViewAfterUploadFile.getFileElement().isDisplayed());
62
63 //select to move the file
64 ElementMenuOptions menuOptions = fileListView.longPressOnElement(FILE_NAME);
65 MoveView moveView = menuOptions.clickOnMove();
66
67 //to move to a folder
68 moveView.scrollTillFindElement(FOLDER_WHERE_MOVE).tap(1,1);
69 waitAMomentPopUp = moveView.clickOnChoose();
70 Common.waitTillElementIsNotPresent(waitAMomentPopUp.getWaitAMomentTextElement(), 100);
71
72 //check that the folder moved is inside the other
73 fileListView.scrollTillFindElement(FOLDER_WHERE_MOVE).tap(1,1);
74 Common.waitTillElementIsNotPresent(fileListView.getProgressCircular(), 1000);
75 Thread.sleep(1000);
76 fileListView.scrollTillFindElement(FILE_NAME);
77 assertEquals(FILE_NAME , fileListView.getFileElement().getText());
78
79 }
80
81 @After
82 public void tearDown() throws Exception {
83 common.takeScreenShotOnFailed(name.getMethodName());
84 FileListView fileListView = new FileListView(driver);
85 driver.sendKeyEvent(android.view.KeyEvent.KEYCODE_BACK);
86 Actions.deleteElement(FOLDER_WHERE_MOVE, fileListView, driver);
87 Actions.deleteElement(FILE_NAME, fileListView, driver);
88 driver.removeApp("com.owncloud.android");
89 driver.quit();
90 }
91
92 }