add new test cases
[pub/Android/ownCloud.git] / automationTest / src / test / java / androidtest / tests / UploadTestSuite.java
1 package androidtest.tests;
2
3
4 import io.appium.java_client.MobileBy;
5
6 import org.junit.After;
7 import org.junit.Before;
8 import org.junit.runners.MethodSorters;
9 import org.junit.FixMethodOrder;
10 import org.junit.Test;
11 import org.openqa.selenium.By;
12 import org.openqa.selenium.support.ui.ExpectedConditions;
13
14 import androidtest.actions.Actions;
15 import androidtest.models.AppDetailsView;
16 import androidtest.models.ElementMenuOptions;
17 import androidtest.models.MainView;
18
19
20 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
21 public class UploadTestSuite extends Common{
22
23 String FILE_NAME = "test";
24
25 @Before
26 public void setUp() throws Exception {
27 setUpCommonDriver();
28 }
29
30 @Test
31 public void test1UploadFile () throws Exception {
32
33 MainView mainView = Actions.login(Config.URL, Config.user,Config.password, Config.isTrusted, driver);
34 assertTrue(waitForTextPresent("ownCloud", mainView.getTitleTextElement()));
35
36 //check if the file already exists and if true, delete it
37 Actions.deleteElement(FILE_NAME, mainView, driver);
38
39 MainView mainViewAfterUploadFile = Actions.uploadFile(FILE_NAME, mainView);
40
41 mainViewAfterUploadFile.scrollTillFindElement(FILE_NAME);
42 assertTrue(mainViewAfterUploadFile.getFileElement().isDisplayed());
43 waitTillElementIsNotPresent(mainViewAfterUploadFile.getProgressCircular(), 1000);
44 wait.until(ExpectedConditions.visibilityOf(mainViewAfterUploadFile.getFileElementLayout().findElement(By.id(MainView.getLocalFileIndicator()))));
45
46
47 }
48
49 @Test
50 public void test2KeepFileUpToDate () throws Exception {
51
52 MainView mainView = Actions.login(Config.URL, Config.user,Config.password, Config.isTrusted, driver);
53 assertTrue(waitForTextPresent("ownCloud", mainView.getTitleTextElement()));
54
55 waitTillElementIsNotPresent(mainView.getProgressCircular(), 1000);
56
57 MainView mainViewAfterUploadFile = Actions.uploadFile(FILE_NAME, mainView);
58 mainViewAfterUploadFile.scrollTillFindElement(FILE_NAME);
59 assertTrue(mainViewAfterUploadFile.getFileElement().isDisplayed());
60
61 ElementMenuOptions menuOptions = mainViewAfterUploadFile.longPressOnElement(FILE_NAME);
62 AppDetailsView appDetailsView = menuOptions.clickOnDetails();
63 appDetailsView.checkKeepFileUpToDateCheckbox();
64 Thread.sleep(3000);
65 driver.sendKeyEvent(android.view.KeyEvent.KEYCODE_BACK);
66 assertTrue(isElementPresent(mainViewAfterUploadFile.getFileElementLayout(), MobileBy.id(MainView.getFavoriteFileIndicator())));
67
68 }
69
70
71 @After
72 public void tearDown() throws Exception {
73 MainView mainView = new MainView(driver);
74 Actions.deleteElement(FILE_NAME,mainView, driver);
75 driver.removeApp("com.owncloud.android");
76 driver.quit();
77 }
78
79
80 }
81