public void ShareLibraryAndRemoveUserFromTeamTest()
        {
            Permission permission = new Permission(false, true, true, true);

            ConsoleMessage.StartTest("Share library with team and remove user from team", "ShareLibrary");
            //Login as Library owner and share a library with a Team
            Appium.Instance.Driver.LaunchApp();
            LoginActivity.LoginStep(_user1, _timeout);
            TabMenu.Library.Tap();
            LibraryActivity.LibraryList.FindAndTap(_baseLibrary);
            LibraryActivity.SelectAndShareLibrary(_baseLibrary, _shareName);
            LibraryShareDialog.ShareWithTeamStep(_team, permission);
            CommonOperation.Delay(_shareDelay);
            TabMenu.Logout.Tap();

            //Login as a Team member and verify user received the shared library
            LoginActivity.LoginStep(_user2, _timeout);
            CommonOperation.Delay(_loginDelay);
            TabMenu.Library.Tap();
            LibraryActivity.LibraryList.FindAndTap(_shareName);
            LibraryActivity.ElementList.VerifyElementCountById(1, "library_document_icon");
            TabMenu.Logout.Tap();

            //Login as Owner and add a new user to the team
            LoginActivity.LoginStep(_user1, _timeout);
            TabMenu.Teams.Tap();
            CommonOperation.Delay(2);
            TeamActivity.TeamList.FindAndTap(_team);
            TeamActivity.AddUserToTeam(_user3.Name);
            TeamActivity.TeamMemberList.VerifyElementCountById(3, "user_picture");
            CommonOperation.Delay(_shareDelay);
            TabMenu.Logout.Tap();

            //Login as new user and verify user received shared library
            LoginActivity.LoginStep(_user3, _timeout);
            CommonOperation.Delay(_loginDelay);
            TabMenu.Library.Tap();
            LibraryActivity.LibraryList.FindAndTap(_shareName);
            LibraryActivity.ElementList.VerifyElementCountById(1, "library_document_icon");
            TabMenu.Logout.Tap();

            //Login as Owner and remove the new user from the team
            LoginActivity.LoginStep(_user1, _timeout);
            TabMenu.Teams.Tap();
            CommonOperation.Delay(2);
            TeamActivity.TeamList.FindAndTap(_team);
            TeamActivity.RemoveUserFromTeam(_user3.Name);
            TeamActivity.TeamMemberList.VerifyElementCountById(2, "user_picture");
            CommonOperation.Delay(_shareDelay);
            TabMenu.Logout.Tap();

            //Login as new user and verify user does not have the shared library
            LoginActivity.LoginStep(_user3, _timeout);
            CommonOperation.Delay(_loginDelay);
            TabMenu.Library.Tap();
            LibraryActivity.VerifyLibraryNotExist(_shareName);
            TabMenu.Logout.Tap();
        }
        public void ShareOnly()
        {
            string     shareName     = string.Format("{0}=Share", _version);
            string     reshareName   = string.Format("{0}=Rshr", _version);
            Permission permission    = new Permission(true, true, false, false);
            Permission allPermission = new Permission(true, true, true, true);

            ConsoleMessage.StartTest("Share library with user: Share", "ShareLibrary");
            //share on owner
            Appium.Instance.Driver.LaunchApp();
            LoginActivity.LoginStep(_user1, _timeout);
            TabMenu.Library.Tap();
            LibraryActivity.SelectAndShareLibrary(_baseLibrary, shareName);
            LibraryShareDialog.ShareWithUserStep(_team, _user2.Name, permission);
            CommonOperation.Delay(_shareDelay);
            TabMenu.Logout.Tap();

            //verify on recipient
            LoginActivity.LoginStep(_user2, _timeout);
            CommonOperation.Delay(_loginDelay);
            TabMenu.Library.Tap();
            LibraryActivity.LibraryList.FindAndTap(shareName);
            LibraryActivity.ElementList.VerifyElementCountById(20, "library_document_icon");
            //verify can't add element
            LibraryActivity.AddElement.Tap();
            LibraryPermissionErrorDialog.DialogName.VerifyText("Add Permission");
            LibraryPermissionErrorDialog.Ok.Tap();
            //verify can't delete library
            LibraryActivity.DeleteLibrary.Tap();
            LibraryPermissionErrorDialog.DialogName.VerifyText("Delete Permission");
            LibraryPermissionErrorDialog.Ok.Tap();
            //verify can't delete library element
            LibraryActivity.ElementList.FindAndTap("Add");
            LibraryElementActivity.Delete.Tap();
            LibraryPermissionErrorDialog.DialogName.VerifyText("Delete Permission");
            LibraryPermissionErrorDialog.Ok.Tap();
            LibraryElementActivity.Cancel.Tap();
            //verify can't share library
            LibraryActivity.SelectAndShareLibrary(shareName, reshareName);
            LibraryShareDialog.ShareWithUserStep(_team, _user1.Name, allPermission);
            CommonOperation.Delay(_shareDelay);
            TabMenu.Logout.Tap();

            //verify on owner
            LoginActivity.LoginStep(_user1, _timeout);
            CommonOperation.Delay(_loginDelay);
            TabMenu.Library.Tap();
            LibraryActivity.LibraryList.FindAndTap(reshareName);
            LibraryActivity.ElementList.VerifyElementCountById(20, "library_document_icon");
            TabMenu.Logout.Tap();
        }
        public void ModifyOnly()
        {
            string     shareName  = string.Format("{0}=Modify", _version);
            Permission permission = new Permission(true, false, true, false);

            ConsoleMessage.StartTest("Share library with user: Modify", "ShareLibrary");
            //share on owner
            Appium.Instance.Driver.LaunchApp();
            LoginActivity.LoginStep(_user1, _timeout);
            TabMenu.Library.Tap();
            LibraryActivity.SelectAndShareLibrary(_baseLibrary, shareName);
            LibraryShareDialog.ShareWithUserStep(_team, _user2.Name, permission);
            CommonOperation.Delay(_shareDelay);
            TabMenu.Logout.Tap();

            //verify on recipient
            LoginActivity.LoginStep(_user2, _timeout);
            CommonOperation.Delay(_loginDelay);
            TabMenu.Library.Tap();
            LibraryActivity.LibraryList.FindAndTap(shareName);
            LibraryActivity.ElementList.VerifyElementCountById(20, "library_document_icon");
            //verify can add element
            LibraryActivity.AddElement.Tap();
            LibraryElementActivity.ElementName.ClearText();
            LibraryElementActivity.ElementName.EnterText("Element1");
            LibraryElementActivity.Ok.Tap();
            LibraryActivity.ElementList.VerifyElementCountById(21, "library_document_icon");
            //verify can delete library element
            LibraryActivity.ElementList.FindAndTap("Add");
            LibraryElementActivity.Delete.Tap();
            LibraryDeleteElementDialog.Delete.Tap();
            LibraryActivity.ElementList.VerifyElementCountById(20, "library_document_icon");
            //verify can delete library
            LibraryActivity.DeleteLibrary.Tap();
            LibraryDeleteDialog.Cancel.Tap();
            //verify can't share library
            LibraryActivity.ShareLibrary.Tap();
            LibraryActivity.VerifyCantShareLibrary(shareName);
            LibraryActivity.CancelShare.Tap();
            TabMenu.Logout.Tap();

            //verify on owner
            LoginActivity.LoginStep(_user1, _timeout);
            CommonOperation.Delay(_loginDelay);
            TabMenu.Library.Tap();
            LibraryActivity.LibraryList.FindAndTap(shareName);
            LibraryActivity.ElementList.VerifyElementCountById(20, "library_document_icon");
            TabMenu.Logout.Tap();
        }
        public void BeforeClass()
        {
            _user1       = Settings.Instance.User1;
            _user2       = Settings.Instance.User2;
            _user3       = Settings.Instance.User3;
            _timeout     = Settings.Instance.LoginTimeout;
            _shareDelay  = Settings.Instance.ShareDelay;
            _loginDelay  = Settings.Instance.LoginDelay;
            _version     = Settings.Instance.Version;
            _team        = String.Format("!{0}-Lib{1}", _version, Settings.Instance.TeamRemove);
            _baseLibrary = String.Format("!{0}-UserRemoveBase", _version);
            _shareName   = String.Format("!{0}-UserRemove", _version);

            ConsoleMessage.StartTest("Share library with team and remove user from team: Setup", "ShareLibrary");
            try
            {
                Appium.Instance.Driver.LaunchApp();
                LoginActivity.LoginStep(_user1, _timeout);
                TabMenu.Library.Tap();
                LibraryActivity.CreateLibrary(_baseLibrary);
                LibraryActivity.AddElement.Tap();
                LibraryElementActivity.ElementName.ClearText();
                LibraryElementActivity.ElementName.EnterText(element1);
                LibraryElementActivity.Ok.Tap();
                LibraryActivity.ElementList.VerifyElementCountById(1, "library_document_icon");
                //create team
                TabMenu.Teams.Tap();
                CommonOperation.Delay(1);
                TeamActivity.NewTeam.Tap();
                TeamCreateDialog.TeamName.EnterText(_team);
                TeamCreateDialog.Create.Tap();
                TeamActivity.TeamMemberList.VerifyElementCountById(1, "user_picture");
                //add user to team
                TeamActivity.AddUserToTeam(_user2.Name);
                TeamActivity.TeamMemberList.VerifyElementCountById(2, "user_picture");
                CommonOperation.Delay(5);
            }
            finally
            {
                Appium.Instance.Driver.CloseApp();
                ConsoleMessage.EndTest();
            }
        }
        public void Unshare()
        {
            string     shareName  = string.Format("{0}=Unshare", _version);
            Permission permission = new Permission(true, true, true, true);

            ConsoleMessage.StartTest("Share library with user: Unshare", "ShareLibrary");
            //share on owner
            Appium.Instance.Driver.LaunchApp();
            LoginActivity.LoginStep(_user1, _timeout);
            TabMenu.Library.Tap();
            LibraryActivity.SelectAndShareLibrary(_baseLibrary, shareName);
            LibraryShareDialog.ShareWithUserStep(_team, _user2.Name, permission);
            CommonOperation.Delay(_shareDelay);
            TabMenu.Logout.Tap();

            //verify on recipient
            LoginActivity.LoginStep(_user2, _timeout);
            CommonOperation.Delay(_loginDelay);
            TabMenu.Library.Tap();
            LibraryActivity.LibraryList.FindAndTap(shareName);
            LibraryActivity.ElementList.VerifyElementCountById(20, "library_document_icon");
            TabMenu.Logout.Tap();

            //unshare on owner
            LoginActivity.LoginStep(_user1, _timeout);
            TabMenu.Library.Tap();
            LibraryActivity.LibraryList.FindAndTap(shareName);
            LibraryActivity.Permission.Tap();
            LibraryShareDialog.Unshare(_user2.Name);
            LibraryShareDialog.ShareWithList.VerifyElementCountById(0, "user_picture");
            LibraryShareDialog.Ok.Tap();
            CommonOperation.Delay(_shareDelay);
            TabMenu.Logout.Tap();

            //verify on recipient, library not exist
            LoginActivity.LoginStep(_user2, _timeout);
            CommonOperation.Delay(_loginDelay);
            TabMenu.Library.Tap();
            LibraryActivity.VerifyLibraryNotExist(shareName);
        }
 public void AfterClass()
 {
     //clean up after test
     try
     {
         ConsoleMessage.StartTest("Share library with team and remove user from team: Cleanup", "ShareLibrary");
         Appium.Instance.Driver.LaunchApp();
         LoginActivity.LoginStep(_user1, _timeout);
         TabMenu.Library.Tap();
         LibraryActivity.DeleteAllLibs();
         CommonOperation.Delay(3);
         //delete team
         TabMenu.Teams.Tap();
         TeamActivity.TeamList.FindAndTap(_team);
         TeamActivity.Dismiss.Tap();
         TeamDeleteDialog.Delete.Tap();
     }
     finally
     {
         Appium.Instance.Driver.CloseApp();
         ConsoleMessage.EndTest();
     }
 }
Пример #7
0
        public void SingleLibraryTest()
        {
            ConsoleMessage.StartTest("Library test", "Library");
            Appium.Instance.Driver.LaunchApp();
            LoginActivity.LoginStep(_user, _timeout);
            TabMenu.Library.Tap();
            LibraryActivity.CreateLibrary(_library);
            //add
            foreach (var element in elements)
            {
                LibraryActivity.AddElement.Tap();
                LibraryElementActivity.ElementName.ClearText();
                LibraryElementActivity.ElementName.EnterText(element);
                LibraryElementActivity.Ok.Tap();
            }
            LibraryActivity.ElementList.VerifyElementCountById(3, "library_document_icon");
            //delete element
            LibraryActivity.ElementList.FindAndTap(element2);
            LibraryElementActivity.Delete.Tap();
            LibraryDeleteElementDialog.Delete.Tap();
            LibraryActivity.ElementList.VerifyElementCountById(2, "library_document_icon");
            //change element type
            LibraryActivity.ElementList.FindAndTap(element1);
            LibraryElementActivity.ElementType.Tap();
            ComboBoxItemDialog.FindAndTap("Operation");
            LibraryElementActivity.VerifyElementType("Operation");
            //add property
            LibraryElementActivity.AddProperty.Tap();
            LibraryPropertyDialog.PropertyName.EnterText("propName1");
            LibraryPropertyDialog.PropertyValue.EnterText("propValue1");
            LibraryPropertyDialog.PropertyType.Tap();
            ComboBoxItemDialog.FindAndTap("Text");
            LibraryPropertyDialog.VerifyPropertyType("Text");
            LibraryPropertyDialog.Ok.Tap();
            LibraryElementActivity.PropertyList.VerifyElementCountByClass(1, "android.widget.RelativeLayout");
            LibraryElementActivity.VerifyPropertyValue("propName1", "propValue1");
            //change property value
            LibraryElementActivity.OpenProperty("propName1");
            LibraryPropertyDialog.PropertyValue.EnterText("CanChange");
            LibraryPropertyDialog.Ok.Tap();
            LibraryElementActivity.VerifyPropertyValue("propName1", "CanChange");

            //add second property
            LibraryElementActivity.AddProperty.Tap();
            LibraryPropertyDialog.PropertyName.EnterText("propName2");
            LibraryPropertyDialog.PropertyValue.EnterText("propValue2");
            LibraryPropertyDialog.Required.Tap();
            LibraryPropertyDialog.Required.VerifyStatus(true);
            LibraryPropertyDialog.Ok.Tap();
            LibraryElementActivity.PropertyList.VerifyElementCountByClass(2, "android.widget.RelativeLayout");
            LibraryElementActivity.VerifyPropertyMarkAsRequired("propName2");

            //delete property
            LibraryElementActivity.DeleteProperty("propName1");
            LibraryElementActivity.PropertyList.VerifyElementCountByClass(1, "android.widget.RelativeLayout");
            LibraryElementActivity.DeleteProperty("propName2");
            LibraryElementActivity.PropertyList.VerifyElementCountByClass(0, "android.widget.RelativeLayout");

            //swap properies
            //add property
            LibraryElementActivity.AddProperty.Tap();
            LibraryPropertyDialog.PropertyName.EnterText("swap1");
            LibraryPropertyDialog.Ok.Tap();
            //add property
            LibraryElementActivity.AddProperty.Tap();
            LibraryPropertyDialog.PropertyName.EnterText("swap2");
            LibraryPropertyDialog.Ok.Tap();
            //add property
            LibraryElementActivity.AddProperty.Tap();
            LibraryPropertyDialog.PropertyName.EnterText("swap3");
            LibraryPropertyDialog.Ok.Tap();
            LibraryElementActivity.PropertyList.VerifyElementCountByClass(3, "android.widget.RelativeLayout");
            LibraryElementActivity.SwapProperty("swap1", "swap3");
            LibraryElementActivity.VerifyPropertyAtPosition(2, "swap1");
            LibraryElementActivity.Ok.Tap();
            LibraryActivity.DeleteLibrary.Tap();
            LibraryDeleteDialog.Delete.Tap();
            LibraryActivity.VerifyLibraryNotExist(_library);
        }