예제 #1
0
        public static void WhenProtonMailPageIsOpenedFolderEditingIsEnabled(this FoldersAndLabelsPage foldersAndLabelsPage)
        {
            string        baseFolderName     = RandomDataGenerator.RandomAlphaNumericString(10);
            string        childFolder        = RandomDataGenerator.RandomAlphaNumericString(10);
            string        newChildFolderName = RandomDataGenerator.RandomAlphaNumericString(10);
            List <string> folderNames        = new List <string>()
            {
                baseFolderName, newChildFolderName
            };

            TestExecutionContext.CurrentContext.CurrentTest.Properties.Set(FoldersAndLabelsConstants.ADDED_FOLDERS_LIST, folderNames);


            //Adding base folder
            foldersAndLabelsPage.AddBaseFolder(baseFolderName)
            .VerifyEntityCreatedNotificationIsDisplayed(baseFolderName)
            .VerifyFolderIsAdded(baseFolderName);

            //Adding nested folder
            foldersAndLabelsPage.AddFolderUnderBaseFolder(childFolder, baseFolderName)
            .VerifyFolderIsAdded(childFolder, baseFolderName);

            //Editing child folder name and folder base
            foldersAndLabelsPage.EditFolderFromFoldersList(childFolder, baseFolderName, newChildFolderName)
            .VerifyEntityUpdatedNotificationIsDisplayed(newChildFolderName)
            .VerifyFolderIsAdded(newChildFolderName);
        }
예제 #2
0
        public static void WhenProtomMailPageIsOpenedNestingOfFoldersIsEnabledAndMaximumFolderLimitCanNotBeExceeded(this FoldersAndLabelsPage foldersAndLabelsPage)
        {
            string        baseFolderName = RandomDataGenerator.RandomAlphaNumericString(10);
            List <string> folderNames    = new List <string>()
            {
                baseFolderName
            };

            //Adding base folder
            foldersAndLabelsPage.AddBaseFolder(baseFolderName)
            .VerifyFolderIsAdded(baseFolderName);

            int numberOfFolders = FoldersAndLabelsConstants.MAX_NUMBER_OF_FOLDERS - 1;

            //Adding all nested folders
            while (numberOfFolders != 0)
            {
                string   currentBaseFolderFullPath = folderNames[folderNames.Count - 1];
                string[] AllBaseFolders            = currentBaseFolderFullPath.Split('/');
                string   baseChildFolderName       = AllBaseFolders[AllBaseFolders.Length - 1];

                string childFolder = RandomDataGenerator.RandomAlphaNumericString(10);

                foldersAndLabelsPage.AddFolderUnderBaseFolder(childFolder, baseChildFolderName)
                .VerifyFolderIsAdded(childFolder, baseChildFolderName);

                folderNames.Add($"{currentBaseFolderFullPath}/{childFolder}");

                numberOfFolders--;
            }

            TestExecutionContext.CurrentContext.CurrentTest.Properties.Set(FoldersAndLabelsConstants.ADDED_FOLDERS_LIST, folderNames);

            //Adding an extra folder, to verify the folder limit is reached
            baseFolderName = RandomDataGenerator.RandomAlphaNumericString(10);

            foldersAndLabelsPage.AddBaseFolder(baseFolderName)
            .VerifyModalIsNotClosedAfterSave()
            .ClickCancelOnTheFoldersModal()
            .VerifyFolderLimitReachedNotificationIsDisplayed()
            .VerifyFolderIsNotAdded(baseFolderName);;
        }