Esempio n. 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);
        }
Esempio n. 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);;
        }
Esempio n. 3
0
        public static void WhenProtonMailPageIsOpenedFolderNotificationsCanBeDisabled(this FoldersAndLabelsPage foldersAndLabelsPage)
        {
            string        baseFolderName = RandomDataGenerator.RandomAlphaNumericString(10);
            List <string> folderNames    = new List <string>()
            {
                baseFolderName
            };

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

            //Adding base folder and updating the folder notification from the folder row
            foldersAndLabelsPage.AddBaseFolder(baseFolderName)
            .VerifyEntityCreatedNotificationIsDisplayed(baseFolderName)
            .VerifyFolderIsAdded(baseFolderName)
            .ToggleNotificationFromFoldersList(baseFolderName)
            .VerifyEntityUpdatedNotificationIsDisplayed(baseFolderName);
        }
Esempio n. 4
0
        public static void WhenProtonMailPageIsOpenedAndFolderWithSameNameAsExistingCanBeAddedOnADifferentLevel(this FoldersAndLabelsPage foldersAndLabelsPage)
        {
            string        baseFolderName = RandomDataGenerator.RandomAlphaNumericString(10);
            List <string> folderNames    = new List <string>()
            {
                baseFolderName
            };

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

            //Adding two folders with the same name, just a different location, and verifying that this action can be perfomed
            foldersAndLabelsPage.AddBaseFolder(baseFolderName)
            .VerifyEntityCreatedNotificationIsDisplayed(baseFolderName)
            .VerifyFolderIsAdded(baseFolderName)
            .AddNewFolder(baseFolderName, baseFolderName)
            .VerifyEntityCreatedNotificationIsDisplayed(baseFolderName);
        }
Esempio n. 5
0
        public static void WhenProtonMailPageIsOpenedAndFolderWithSameNameAsExistingFolderOnTheSameLevelFolderCanNotBeAdded(this FoldersAndLabelsPage foldersAndLabelsPage)
        {
            string        baseFolderName = RandomDataGenerator.RandomAlphaNumericString(10);
            List <string> folderNames    = new List <string>()
            {
                baseFolderName
            };

            //Adding two folders with the same name under same level and verifying that the second one can not be added to the folders list
            foldersAndLabelsPage.AddBaseFolder(baseFolderName)
            .VerifyEntityCreatedNotificationIsDisplayed(baseFolderName)
            .VerifyFolderIsAdded(baseFolderName)
            .AddNewFolder(baseFolderName)
            .VerifyModalIsNotClosedAfterSave()
            .ClickCancelOnTheFoldersModal();

            TestExecutionContext.CurrentContext.CurrentTest.Properties.Set(FoldersAndLabelsConstants.ADDED_FOLDERS_LIST, folderNames);
        }
Esempio n. 6
0
        public static void WhenProtonMailPageIsOpenedLabelWithNameSameAsExistingFolderCanNotBeAdded(this FoldersAndLabelsPage foldersAndLabelsPage)
        {
            string        baseFolderName = RandomDataGenerator.RandomAlphaNumericString(10);
            List <string> folderNames    = new List <string>()
            {
                baseFolderName
            };

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

            //Adding base folder and adding a new label with the same name as the folder
            foldersAndLabelsPage.AddBaseFolder(baseFolderName)
            .VerifyFolderIsAdded(baseFolderName)
            .VerifyEntityCreatedNotificationIsDisplayed(baseFolderName)
            .AddNewLabel(baseFolderName)
            .VerifyLabelModalIsNotClosedAfterSave()
            .VerifyALabelOrFolderWithThisNameAlreadyExistsNotificationIsDisplayed()
            .ClickCancelOnTheLabelsModal();
        }