upload a few automated test
[pub/Android/ownCloud.git] / automationTest / src / test / java / androidtest / tests / UploadTestSuite.java
diff --git a/automationTest/src/test/java/androidtest/tests/UploadTestSuite.java b/automationTest/src/test/java/androidtest/tests/UploadTestSuite.java
new file mode 100644 (file)
index 0000000..4b1a500
--- /dev/null
@@ -0,0 +1,88 @@
+package androidtest.tests;
+
+
+import io.appium.java_client.MobileBy;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.runners.MethodSorters;
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+
+import androidtest.actions.Actions;
+import androidtest.models.AppDetailsView;
+import androidtest.models.FilesView;
+import androidtest.models.MainView;
+
+
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class UploadTestSuite extends CommonTest{
+
+       @Before
+       public void setUp() throws Exception {
+                       setUpCommonDriver();
+       }
+       
+       @Test
+       public void test1UploadFile () throws Exception {
+               String FILE_NAME = "test";
+               
+               MainView mainView = login(Config.URL, Config.user,Config.password);
+               assertTrue(waitForTextPresent("ownCloud", mainView.getTitleTextElement()));
+               mainView.clickOnUploadButton();
+               FilesView filesView = mainView.clickOnFilesElementUploadFile();
+               filesView.clickOnFileName(FILE_NAME);
+               MainView mainViewAfterUploadFile = filesView.clickOnUploadButton();
+               //TO DO. detect when the file is successfully uploaded
+               Thread.sleep(3000);
+               mainViewAfterUploadFile.scrollTillFindElement(FILE_NAME);
+               assertTrue(mainViewAfterUploadFile.getFileElement().isDisplayed());
+               mainViewAfterUploadFile.tapOnFileElement(FILE_NAME);
+               mainViewAfterUploadFile.clickOnRemoveFileElement();
+               mainViewAfterUploadFile.clickOnRemoteAndLocalButton();
+               assertTrue(waitForTextPresent("Wait a moment" , mainViewAfterUploadFile.getWaitAMomentTextElement()));
+               while(mainViewAfterUploadFile.getWaitAMomentTextElement().isDisplayed()){}
+               Actions.deleteAccount(mainViewAfterUploadFile);
+               
+       }
+       
+       @Test
+       public void test2KeepFileUpToDate () throws Exception {
+               String FILE_NAME = "test";
+               
+               MainView mainView = login(Config.URL, Config.user,Config.password);
+               assertTrue(waitForTextPresent("ownCloud", mainView.getTitleTextElement()));
+               mainView.clickOnUploadButton();
+               FilesView filesView = mainView.clickOnFilesElementUploadFile();
+               filesView.clickOnFileName(FILE_NAME);
+               MainView mainViewAfterUploadFile = filesView.clickOnUploadButton();
+               //TO DO. detect when the file is successfully uploaded
+               Thread.sleep(3000);
+               mainViewAfterUploadFile.scrollTillFindElement(FILE_NAME);
+               assertTrue(mainViewAfterUploadFile.getFileElement().isDisplayed());
+               mainViewAfterUploadFile.tapOnFileElement(FILE_NAME);
+               AppDetailsView appDetailsView = mainViewAfterUploadFile.clickOnDetailsFileElement();
+               appDetailsView.checkKeepFileUpToDateCheckbox();
+               //assertTrue(appDetailsView.getProgressBar().isDisplayed());
+               Thread.sleep(3000);
+               driver.sendKeyEvent(android.view.KeyEvent.KEYCODE_BACK);
+               assertTrue(isElementPresent(mainViewAfterUploadFile.getFileElementLayout(), MobileBy.id("com.owncloud.android:id/imageView3")));
+               mainViewAfterUploadFile.tapOnFileElement(FILE_NAME);
+               mainViewAfterUploadFile.clickOnRemoveFileElement();
+               mainViewAfterUploadFile.clickOnRemoteAndLocalButton();
+               assertTrue(waitForTextPresent("Wait a moment" , mainViewAfterUploadFile.getWaitAMomentTextElement()));
+               while(mainViewAfterUploadFile.getWaitAMomentTextElement().isDisplayed()){}
+               Actions.deleteAccount(mainViewAfterUploadFile);
+               
+       }
+       
+       
+       @After
+       public void tearDown() throws Exception {
+               driver.removeApp("com.owncloud.android");
+               driver.quit();
+       }
+       
+
+}
+