diff --git a/docs/test-cases/Advance_Templates.csv b/docs/test-cases/Advance_Templates.csv new file mode 100644 index 000000000000..9dee7867e854 --- /dev/null +++ b/docs/test-cases/Advance_Templates.csv @@ -0,0 +1,29 @@ +Name,Suite,Section,Estimated Time,Type,Steps (Instructions),Steps (Expected Result),Preconditions/Validadtion,,,,,,,,,,,,,,,,,, +Add Basic HTML Code to the Template,Templates,Advance,10,Functional,"1. Enter basic HTML code (e.g.,

Hello World

) into the code editor. +2. Click the Save button.","The code is successfully saved without errors, and changes are reflected in the preview or live site.","- User has permission to edit templates. +- The template is open in code mode.",,,,,,,,,,,,,,,,,, +Insert a Container into the Template,Templates,Advance,10,Functional,"1. Click on the Add a Container dropdown. +2. Select a predefined container (e.g., SYSTEM_CONTAINER). +3. Click the Save button.","The container is inserted into the code and saved successfully, with no errors.","- User has access to predefined containers. +- The template is open in code mode.",,,,,,,,,,,,,,,,,, +Modify Existing Template Code,Templates,Advance,10,Functional,"1. Edit the existing code (e.g., change a header tag from

to

). +2. Click the Save button.",Changes are saved and accurately reflected in the template's design.,- The template already contains code.,,,,,,,,,,,,,,,,,, +Cancel Edits Before Saving,Templates,Advance,10,Functional,"1. Make changes to the template code. +2. Click the Cancel button before clicking the Save button.","Changes are discarded, and the template reverts to its previous state.",- The template is open for editing in code mode.,,,,,,,,,,,,,,,,,, +Add Velocity Script to the Template,Templates,Advance,10,Functional,"1. Enter a simple Velocity script (e.g., #set($greeting = ""Hello World!"") $greeting). +2. Click the Save button.","The script is saved, and the template renders the Velocity output correctly.",- The user has knowledge of Velocity scripting.,,,,,,,,,,,,,,,,,, +Enter Invalid HTML Code,Templates,Advance,10,Functional,"1. Enter invalid HTML code (e.g.,

Hello World

-- missing closing

). +2. Click the Save button.",The system displays an error message indicating the invalid HTML.,- The template is open for editing.,,,,,,,,,,,,,,,,,, +Insert Multiple Containers in Different Positions,Templates,Advance,10,Functional,"1. Insert different containers (e.g., SYSTEM_CONTAINER, HEADER_CONTAINER) into various sections of the code. +2. Click the Save button.","Each container is inserted at the correct location, saved successfully, and the changes are reflected in the templateÕs design.","- The template is open in the code editor. +- Multiple containers are available to be inserted.",,,,,,,,,,,,,,,,,, +Attempt to Edit Template Without Permissions,Templates,Advance,10,Functional,"1. Open the template in code mode. +2. Attempt to make changes to the code. +3. Click the Save button.",The system prevents the changes from being saved and displays a permission error.,- User does not have edit permissions.,,,,,,,,,,,,,,,,,, +Long Template Name,Templates,Advance,10,Functional,"1. Enter a template name longer than 200 characters. +2. Click the Save button.",The system either saves the template without truncating the name or displays a validation message if the name exceeds the allowed length.,- The user is logged in with permissions to create templates.,,,,,,,,,,,,,,,,,, +Duplicate Template Name,Templates,Advance,10,Functional,"1. Create a new template with the same name as an existing one. +2. Click the Save button.",The system displays an error message indicating that the template name is already in use and prevents saving.,- A template with the same name already exists in the system.,,,,,,,,,,,,,,,,,, +API Tab Functionality for Large Template,Templates,Advance,10,Functional,"1. Make changes to the template code. +2. Click the Save button. +3. Click on the API tab to retrieve the API information for the template.","The API information should load quickly, and the template should be accurately saved before the API view is accessed.",- The template has a complex structure with many containers and rows.,,,,,,,,,,,,,,,,,, diff --git a/docs/test-cases/Apps_Portlet.csv b/docs/test-cases/Apps_Portlet.csv new file mode 100644 index 000000000000..a9ead0de3886 --- /dev/null +++ b/docs/test-cases/Apps_Portlet.csv @@ -0,0 +1,52 @@ +Name,Section,Type,Steps (Instructions),Steps (Expected Results),Preconditions,,,Assigned to: ,Status,Issue link +Check if Apps portlet is available with enterprise license,Apps,Functional," 1: Open dotCMS with an enterprise license + 2: Verify Apps portlet is available",Apps portlet is available with enterprise license,Enterprise license is active,,,,, +Verify clear message for community edition users,Apps,Functional," 1: Open dotCMS in community edition + 2: Verify a clear and consistent message is shown for community users",Clear and consistent message is shown for community edition users (this feature should be just for EE users) ,Community edition is active,,,,, +Check if search component filters apps by title or name,Apps,Functional," 1: Open Apps portlet + 2: Use the search component to filter apps by title or name",Search component filters apps successfully by title or name,Apps portlet is open,,,,, +"Verify link to ""how to create apps"" redirects to dotCMS docs",Apps,Functional," 1: Locate the link to ""how to create apps"" + 2: Click the link + 3: Verify redirection to dotCMS docs page",Link redirects to the dotCMS documentation page,Apps portlet is open,,,,, +Check ability to import configuration by requesting file and password,Apps,Functional," 1: Open Apps portlet + 2: Choose import configuration + 3: Upload a file and enter a password",System requests file and password for importing configuration,Configuration file and password are available,,,,, +Verify importing configuration works,Apps,Functional," 1: Upload a configuration file + 2: Verify successful import of the configuration",Configuration is imported successfully,Configuration file is available for import,,,,, +Verify bulk export of all configurations,Apps,Functional," 1: Select bulk export option + 2: Verify all configurations are exported",All configurations are exported successfully,Configurations are available for bulk export,,,,, +Verify password encryption when exporting configuration,Apps,Functional," 1: Attempt to export a configuration + 2: Verify the system asks for a password for encryption",System requests a password for encryption before exporting,Configurations are available for export,,,,, +Ensure listing of all supported apps,Apps,Functional," 1: Open Apps portlet + 2: Verify all supported apps are listed",All supported apps are listed,Supported apps are known,,,,, +Verify redirection to configuration page when an app is selected,Apps,Functional," 1: Select an app + 2: Verify redirection to the app configuration page",System redirects to configuration page of the selected app,Apps portlet is open,,,,, +Check search filter on configuration page,Apps,Functional," 1: Open the configuration page for an app + 2: Use the search filter to filter configurations",Search filter works on the configuration page,App configuration page is open,,,,, +Ensure listing of all available sites when adding new configuration,Apps,Functional," 1: Add a new configuration + 2: Verify that all available sites are listed",All available sites are listed when adding new configuration,App configuration page is open,,,,, +Verify ability to add configuration by filling required fields after selecting a site,Apps,Functional," 1: Select a site from the list + 2: Add a configuration by filling in required fields",Configuration is added successfully after selecting a site and filling required fields,Sites are available for configuration,,,,, +Ensure configuration can be saved,Apps,Functional," 1: After adding a configuration, click save + 2: Verify the configuration is saved successfully",Configuration is saved successfully,Configuration page is open and sites are available,,,,, +Check if every app displays the proper documentation,Apps,Functional," 1: Open the documentation for an app + 2: Verify proper documentation is displayed",App documentation is displayed correctly,Apps portlet is open,,,,, +Verify ability to download configuration file after adding it,Apps,Functional," 1: After adding a configuration, click download + 2: Verify the configuration file is downloaded",Configuration file is downloaded successfully,Configuration is added successfully,,,,, +Ensure password encryption when downloading configuration,Apps,Functional," 1: Attempt to download a configuration file + 2: Verify password encryption is required",Password encryption is required when downloading configuration,Configuration file is available for download,,,,, +Verify ability to edit configuration after adding it,Apps,Functional," 1: Select a configuration + 2: Edit the configuration and save changes",Configuration is edited successfully,Configuration is available for editing,,,,, +Ensure specific configuration can be deleted,Apps,Functional," 1: Select a specific configuration + 2: Delete the configuration",Configuration is deleted successfully,Configuration is available for deletion,,,,, +Ensure bulk deletion of configurations,Apps,Functional," 1: Select bulk delete option + 2: Delete all configurations",All configurations are deleted successfully,Multiple configurations are available,,,,, +Validate confirmation request when deleting configuration,Apps,Functional," 1: Attempt to delete a configuration + 2: Verify a confirmation request is displayed",Confirmation request is displayed when attempting to delete configuration,Configuration is available for deletion,,,,, +Verify exporting configuration for a specific app,Apps,Functional," 1: Select a specific app + 2: Export its configuration",Configuration for the selected app is exported successfully,Specific app has configuration,,,,, +Validate app key is shown when an app is selected,Apps,Functional," 1: Select a specific app + 2: Verify the app key is displayed",App key is displayed when app is selected,Specific app is selected,,,,, +Check if app key can be copied to clipboard by clicking on it,Apps,Functional," 1: Select a specific app + 2: Click on the app key + 3: Verify the key is copied to clipboard",App key is copied to clipboard when clicked,Specific app is selected,,,,, \ No newline at end of file diff --git a/docs/test-cases/BinaryField.csv b/docs/test-cases/BinaryField.csv new file mode 100644 index 000000000000..c44139b04a16 --- /dev/null +++ b/docs/test-cases/BinaryField.csv @@ -0,0 +1,39 @@ +Name,Section,Type,Steps (Instructions),Steps (Expected Results),Preconditions,Status,Assigned to: ,Status,Issue link +Drag and drop files,Binary Field,Functional,"Step 1: Open the binary field +Step 2: Drag and drop a valid file",File is successfully uploaded via drag and drop,User is on the binary field,,,, +"Select files to upload using the ""choose file"" link",Binary Field,Functional,"Step 1: Open the binary field +Step 2: Select a valid file using the ""choose file"" link",File is successfully selected and uploaded,User is on the binary field,,,, +Import files from URL,Binary Field,Functional,"Step 1: Open the binary field +Step 2: Import a valid file by providing a URL",File is successfully imported from the provided URL,User is on the binary field,,,, +Create a new file from text,Binary Field,Functional,"Step 1: Open the binary field +Step 2: Create a new file using the text editor",New file is created from text,User is on the binary field,,,, +Generate a file from AI (if AI configuration exists),Binary Field,Functional,"Step 1: Open the binary field +Step 2: Attempt to generate a file using AI +Step 3: Check if AI configuration exists and option is enabled/disabled accordingly","File is generated if AI configuration exists, otherwise the option is disabled",AI configuration exists in the system (or not),,,, +File preview generation for supported extensions,Binary Field,Functional,"Step 1: Upload files of various supported extensions +Step 2: Verify the file preview is generated",File preview is generated for all supported extensions,Supported extensions are known,,,, +Validate if field is required,Binary Field,Functional,"Step 1: Open the binary field +Step 2: Leave the field empty +Step 3: Check if validation error appears if the field is required",Validation error appears when the field is required and left empty,Field can be marked as required,,,, +Show clear message if field is required,Binary Field,Functional,"Step 1: Set the field as required +Step 2: Leave it empty +Step 3: Verify a clear error message is shown",A clear error message is shown when the required field is left empty,Field is marked as required,,,, +Validate metadata display on information button,Binary Field,Functional,"Step 1: Open the binary field +Step 2: Click the information button +Step 3: Verify the metadata is displayed properly",Metadata is displayed correctly when information button is clicked,Metadata is available for the file,,,, +Show remove option upon file selection,Binary Field,Functional,"Step 1: Select a file in the binary field +Step 2: Verify that the remove option appears",Remove option appears after selecting a file,File is selected,,,, +Show edit button upon file selection,Binary Field,Functional,"Step 1: Select a file in the binary field +Step 2: Verify that the edit button appears",Edit button appears after selecting a file,File is selected,,,, +Edit file using image editor for images,Binary Field,Functional,"Step 1: Select an image file +Step 2: Open the image editor +Step 3: Edit the file and save changes",File is edited and saved using the image editor,An image file is selected,,,, +Edit file using text editor for other file types,Binary Field,Functional,"Step 1: Select a non-image file +Step 2: Open the text editor +Step 3: Edit the file and save changes",File is edited and saved using the text editor,A non-image file is selected,,,, +Edit text file name and code,Binary Field,Functional,"Step 1: Select a text file +Step 2: Edit the file name and code using the text editor",File name and code are successfully edited,A text file is selected,,,, +"Support syntax highlighting, format, and line numbers in code editor",Binary Field,Functional,"Step 1: Select a code file +Step 2: Verify syntax highlighting, formatting, and line numbers are supported","Code editor supports syntax highlighting, formatting, and line numbers",A code file is selected,,,, +Show cancel and save buttons in code editor,Binary Field,Functional,"Step 1: Open the code editor +Step 2: Verify the cancel and save buttons are present",Cancel and save buttons are present and functional in the code editor,Code editor is open,,,, \ No newline at end of file diff --git a/docs/test-cases/Categories.csv b/docs/test-cases/Categories.csv new file mode 100644 index 000000000000..55cc49e09b20 --- /dev/null +++ b/docs/test-cases/Categories.csv @@ -0,0 +1,38 @@ +Name,Suite,Section,Estimated Time,Type,Steps (Instructions),Steps (Expected Result),Preconditions/Validadtion,,,,,,,,,,,,,,,,,, +Select a Single Category,Categories,Categories,10,Functional,"1. Open the category selector. +2. Select a category (e.g., Deck Stains & Sealers). +3. Click Apply.",The selected category is successfully applied and displayed in the overview.,The user is logged in and has access to the category selection dialog.,,,,,,,,,,,,,,,,,, +Select Multiple Categories from Different Hierarchies,Categories,Categories,10,Functional,"1. Open the category selector. +2. Select categories from different parent groups (e.g., Cleaning Supplies and Deck Stains & Sealers). +3. Click Apply.",All selected categories are applied and displayed in the summary.,The user is logged in and has access to multiple category hierarchies.,,,,,,,,,,,,,,,,,, +Remove a Selected Category,Categories,Categories,10,Functional,"1. Select multiple categories. +2. Remove one category from the overview using the ÒXÓ icon. +3. Click Apply.","The removed category is no longer applied, and the other selections are preserved.",The user has already selected multiple categories.,,,,,,,,,,,,,,,,,, +Search for a Category,Categories,Categories,10,Functional,"1. Type a keyword (e.g., ""Deck"") in the search bar. +2. Select the matching category. +3. Click Apply.",The category related to the search keyword is found and can be applied.,"Categories exist in the system, and the user has access to the search bar.",,,,,,,,,,,,,,,,,, +Navigate Through the Category Tree,Categories,Categories,10,Functional,"1. Open a category. +2. Drill down through different levels of the hierarchy (e.g., Home Improvement > Painting & Supplies). +3. Select a category.",The user is able to navigate through nested categories and make a selection.,The user has access to a multi-level category hierarchy.,,,,,,,,,,,,,,,,,, +Verify Category Summary Panel,Categories,Categories,10,Functional,"1. Select categories. +2. Add and remove categories",The summary panel updates dynamically with each selection or removal.,The user has access to categories and can select/deselect categories.,,,,,,,,,,,,,,,,,, +Clear All Categories,Categories,Categories,10,Functional,"1. Select multiple categories. +2. Click Clear All. +3. Click Apply.","All selected categories are cleared, and no categories are applied.",Multiple categories have already been selected.,,,,,,,,,,,,,,,,,, +Apply Without Selecting a Category,Categories,Categories,10,Functional,"1. Open the category selector. +2. Do not select any categories. +3. Click Apply.","The system should apply no categories, and no errors should occur.","The category selection dialog is open, but no categories have been selected.",,,,,,,,,,,,,,,,,, +Invalid Search Input,Categories,Categories,10,Functional,"1. Enter an invalid search string (e.g., %%%$$$).", The system returns no results but does not display errors or crash.,"The category selection dialog is open, and the user can access the search bar.",,,,,,,,,,,,,,,,,, +Deselect a Category and Apply,Categories,Categories,10,Functional,"1. Select a category. +2. Deselect the category. +3. Click Apply.",The deselected category should not be applied.,The user has previously selected at least one category.,,,,,,,,,,,,,,,,,, +Cancel Button Functionality,Categories,Categories,10,Functional,"1. Select categories. +2. Click Cancel instead of Apply. +3. Reopen the category selection dialog.","The selections are discarded, and no categories are applied.",Categories have been selected but not applied.,,,,,,,,,,,,,,,,,, +Maximum Category Selection,Categories,Categories,10,Functional,"1. Select every available category. +2. Click Apply.","The system should apply all selected categories without performance issues, or handle any maximum selection limit gracefully.","The system allows multiple categories, and no hard limit is defined for selection.",,,,,,,,,,,,,,,,,, +Long Category Names,Categories,Categories,10,Functional,"1. Select categories with long names. +2. Apply the categories.", Long category names are properly displayed without truncation or overlap.,The user has access to the category selector and can select/deselect quickly.,,,,,,,,,,,,,,,,,, +Rapid Selection and Deselection of Categories,Categories,Categories,10,Functional,"1. Rapidly select and deselect various categories. +2. Click Apply.",The system should handle rapid inputs without freezing or crashing.,"The category selection dialog is open, and the user can access the search bar.",,,,,,,,,,,,,,,,,, +Test Search With Special Characters,Categories,Categories,10,Functional,"1. Enter special characters (e.g., @#$%^&*) in the search bar.","The system should not crash, and it should return no results if no categories match the input.",The user has previously selected at least one category.,,,,,,,,,,,,,,,,,, diff --git a/docs/test-cases/Containers.csv b/docs/test-cases/Containers.csv new file mode 100644 index 000000000000..a348fc8631bd --- /dev/null +++ b/docs/test-cases/Containers.csv @@ -0,0 +1,73 @@ +Name,Suite,Section,Estimated Time,Type,Steps (Instructions),Steps (Expected Result),Status, +Check application works correctly and navigate to the Container list view,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Open the application

Verify that it launches correctly

Navigate to the Container list view to ensure it is accessible
,Application works correctly and user is able to navigate to the Container list view,, +Verify add Container button or link is present,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Navigate to the relevant page

Look for the ' + ' button or link to add a container

Confirm its presence on the page
,The add ' + ' content button or link is present on the page,, +Verify ' + ' is present on the page as per the design,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Check the page layout

Ensure that the ' + ' icon is visible on the page as per the design specifications
,The ' + ' is present on the page and matches the design specifications,,? +Verify the ' + ' is color same as per design,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Compare the color of the ' + ' icon with the design specifications

Ensure the color matches the design
,The ' + ' is the correct color as per the design specifications,,? +Verify icon added on the ' + ' must be aligned within the button,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Inspect the alignment of the ' + ' icon within the button

Verify it matches the design specifications and is properly aligned
,The ' + ' is properly aligned within the button as per design,,? +Verify ' + ' is enabled/clickable by clicking on the button,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Click on the ' + ' button

Verify that it is clickable and triggers the expected action
,The ' + ' button is clickable and functions as expected,, +Verify that the width and height of the buttons used on the ' + ' are as per design,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Measure the width and height of the ' + ' button

Compare with the design specifications to ensure they match
,The width and height of the buttons used for the ' + ' are as per design specifications,,? +Verify ' + ' changed on mouse hover the same as per design,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Hover the mouse over the ' + ' button

Verify that the appearance changes as per the design specifications
,The ' + ' changes appearance on mouse hover as per design,,? +Verify user can be able to open ' + ' functionality by right click on the button,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Right-click on the ' + ' button

Verify that the expected functionality is accessible
,User can open the ' + ' functionality by right-clicking on the button,,? +Verify the whole ' + ' should be clickable not only the button icon,Site Layout,Containers,6,Functional,"Go to the app using {{serverURL}}/dotAdmin/#/containers

Click on different areas of the ' + ' button

Ensure that the entire button, not just the icon, is clickable
","The entire ' + ' button is clickable, not just the icon",, +"Verify close button is working, click on the ' X ' button and the window should be closed",Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Click on the ' X ' button

Verify that the window closes as expected
,X ' button works as expected and closes the window,,? +Verify that all the checkboxes present on the application are on the correct position,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Check the position of each checkbox on the application

Ensure they are positioned correctly according to the design specifications
,All checkboxes are correctly positioned on the application,, +Verify the width and height of the checkbox,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Measure the width and height of the checkboxes

Compare with the design specifications to ensure they match
,The width and height of the checkboxes match the design specifications,,? +Verify border radius for the checkbox is corner edge,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Inspect the border radius of the checkboxes

Verify that it matches the corner edge design specifications
,The border radius of the checkboxes has corner edges as per design,,? +Verify the background color and the tick on clicking the checkbox,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Click on the checkbox to select it

Verify that the background color and the tick mark appear as per the design specifications
,The background color and tick mark appear correctly when the checkbox is clicked,, +Verify all the checkboxes are seleble by clicking on the checkbox next to the Containers name title,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Click on the checkbox next to the Containers name title

Verify that all checkboxes are selectable
,All checkboxes next to the Containers name title can be selected by clicking,, +Verify all the checkboxes are seleble by tapping on the checkbox next to the Containers Name title using the keyboard,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Use the keyboard to navigate to the checkbox next to the Containers name title

Tap on the checkbox and verify that all checkboxes are selectable
,All checkboxes next to the Containers name title can be selected by tapping using the keyboard,,? +Verify the user can uncheck the checkboxes by clicking on them,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Click on selected checkboxes to uncheck them

Verify that the checkboxes are unchecked as expected
,User can uncheck the checkboxes by clicking on them,, +Verify if the user can select multiple checkboxes,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Click on multiple checkboxes

Verify that multiple checkboxes can be selected simultaneously
,User can select multiple checkboxes simultaneously,, +Verify on page load no checkbox are selected by default and showing tick sign,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Reload the page

Verify that no checkboxes are selected by default and no tick marks are shown
,No checkboxes are selected by default on page load and no tick marks are shown,, +Verify the checkbox to deselect all can be uncheck it by clicking on the checkbox,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Click on the checkbox to deselect all

Verify that all checkboxes are deselected as expected
,The checkbox to deselect all can be unchecked by clicking on it,, +Verify value ' Add Container ' on the ' + ' click shows correctly in the selection window,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Click on the ' + ' button

Verify that the ' Add Container ' value is displayed correctly in the selection window
,Add Container ' on the ' + ' shows correctly in the selection window,,? +Verify the desired action performed on click of the ' Add Container ' button,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Click on the ' Add Container ' button

Verify that the expected action is performed
,The action performed on clicking the ' Add Container ' button works as expected,,? +Verify value ' Publish ' on the 3 buttons ' Actions ' after click shows correctly in the selection window,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Click on the ' Actions ' button

Verify that the ' Publish ' value is displayed correctly in the selection window
,Publish ' shows correctly in the selection window,,? +Verify the desired action performed on click of the ' Publish ' button,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Click on the ' Publish ' button

Verify that the expected action is performed
,The action performed on clicking the ' Publish ' button works as expected,, +Verify value ' Delete ' on the 3 buttons ' Actions ' on click shows correctly in the selection window,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Click on the ' Actions ' button

Verify that the ' Delete ' value is displayed correctly in the selection window
,Delete ' on the ' + ' shows correctly in the selection window,,? +Verify the desired action performed on click of the ' Delete ' button,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Click on the ' Delete ' button

Verify that the expected action is performed
,The action performed on clicking the ' Delete ' button works as expected,, +Verify the sorting when clicking on the ' Title ' column once,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Click on the ' Title ' column header

Verify that the column is sorted in ascending order
,The bookmarks sort into alphabetical order (a-b-c-d-e),, +Verify the sorting when clicking on the ' Title ' column a second time,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Click on the ' Title ' column header again

Verify that the column is sorted in descending order
,The bookmarks sort into reverse-alphabetical order (e-d-c-b-a),, +Verify clicking on the sorting on the ' Title ' column a third time,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Click on the ' Title ' column header a third time

Verify that the sorting is cleared or reset
,The bookmarks sort into 'natural' order (a-d-e-b-c),, +Verify the sorting when clicking on the ' Mod Date ' column once,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Click on the ' Mod

Date ' column header

Verify that the column is sorted in ascending order
,The bookmarks sort into added date order (1-2-3-4-5),, +Verify the sorting when clicking on the ' Mod Date ' column a second time,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Click on the ' Mod

Date ' column header again

Verify that the column is sorted in descending order
,The bookmarks sort into reverse-added date order (5-4-3-2-1),, +Verify the sorting when clicking on the 'Mod Date ' column a third time,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Click on the ' Mod

Date ' column header a third time

Verify that the sorting is cleared or reset
,The bookmarks sort into 'natural' order (1-2-3-4-5),, +Verify Content Type drop down is available and showing on the Log in window,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Navigate to the Log in window

Verify that the Content Type dropdown is visible and available
,The drop-down is available and showing on the Container window,, +Verify on click on the dropdown should displayed containing the list values,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Click on the Content Type dropdown

Verify that the list of values is displayed
,The drop-down displays the containing list values correctly,, +Verify all values are added in the dropdown list,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Inspect the dropdown list

Verify that all expected values are present
,All values are present in the drop-down list,, +Verify selected values are marked as selected on the drop down field,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Select a value from the dropdown

Verify that the selected value is marked as selected
,Selected values are marked as selected in the drop-down field,, +Verify the label text for the dropdown should be as per requirements and properly aligned,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Inspect the label text for the dropdown

Verify that it meets the requirements and is properly aligned
,The label text for the drop-down is as per requirements and properly aligned,,? +Verify that the drop-down list should be scrolled down by pressing the down arrow key on the keyboard,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Use the down arrow key to scroll through the dropdown list

Verify that the list scrolls as expected
,The drop-down list scrolls down when pressing the down arrow keys on the keyboard,,? +Verify that the dropdown values are accessible and selected by clicking on the alphabetic keys,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Type alphabetic keys while the dropdown is focused

Verify that the corresponding values are accessible and selectable
,Drop-down values are accessible and can be selected by clicking on the alphabetic keys,, +Verify dropdown list should not be editable,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Try to edit the text in the dropdown list

Verify that the list is not editable
,The drop-down list is not editable,,? +Check order of the values in the dropdown list is the same as the requirements,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Compare the order of values in the dropdown list with the requirements

Verify that the order matches
,The order of values in the drop-down list matches the requirements,,? +Verify there should not be any blank values shown in the dropdown list,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Inspect the dropdown list

Verify that there are no blank values
,No blank values are shown in the drop-down list,,? +Verify the dropdown list design is rendering properly on all browsers,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Open the application in different browsers

Verify that the dropdown list design renders correctly in each browser
,The drop-down list design renders properly on all browsers,, +Check the spelling for the values in the dropdown list,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Inspect the values in the dropdown list

Verify that the spelling of each value is correct
,The spelling of values in the drop-down list is correct,,? +Verify all the values in the Dropdown are properly aligned,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Check the alignment of values in the dropdown list

Verify that they are properly aligned
,All values in the drop-down are properly aligned,, +Verify that proper spacing is added on the dropdown values,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Inspect the spacing between values in the dropdown list

Verify that the spacing meets the design specifications
,Spacing between drop-down values is correct and consistent,,? +Check the text length for the maximum char or words shown in the dropdown,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Verify the maximum character or word length for values in the dropdown list

Ensure it meets the design specifications
,A maximum amount of characters or words can be shown in the drop-down menu without breaking the menu,, +Verify the design of the pagination is as per requirements,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Inspect the pagination design

Verify that it matches the requirements
,The design of the pagination matches the requirements,, +Verify the color of the active number of the pagination is correct,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Check the color of the active pagination number

Verify that it matches the design specifications
,The color of the active number in the pagination per page is correct,,? +Verify the alignment of the pagination,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Inspect the alignment of the pagination

Verify that it meets the design specifications
,The alignment of the pagination is as expected,, +Verify the ' > ' and ' < ' button is displayed,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Verify that the ' > ' and ' < ' buttons are visible in the pagination
,> ' and ' < ' buttons are displayed correctly,, +Verify the default count of the pagination should be selected,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Verify that the default count of the pagination is selected on page load
,The default count of 25 per page is selected,,? +Verify the > and < buttons should be clickable,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Click on the ' > ' and ' < ' buttons

Verify that they are clickable and navigate to the next or previous page
,> ' and ' < ' buttons are clickable and navigate to the selected page,, +Verify whether the pagination number field is available for redirection on the destination page,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Verify that the pagination number field allows redirection to the destination page
,The pagination number field is available and redirects to the destination page,, +Verify when the user clicks on the > button the user should be navigated to the next page,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Click on the ' > ' button

Verify that the user is navigated to the next page
,Clicking on the ' > ' button navigates to the next page,, +Verify when the user clicks on the < button the user should be navigated to the previous page,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Click on the ' < ' button

Verify that the user is navigated to the previous page
,Clicking on the ' < ' button navigates to the previous page,, +Verify when the user is on the first page then ' < ' button should be disabled,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Navigate to the first page

Verify that the ' < ' button is disabled
,"When on the first page, the ' < ' button is disabled",, +Verify when the user is on the last page then ' > ' button should be disabled,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Navigate to the last page

Verify that the ' > ' button is disabled
,"When on the last page, the ' > ' button is disabled",, +Verify when the user clicks on the ' << ' button the first page should be displayed,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Click on the ' << ' button

Verify that the first page is displayed
,Clicking on the ' << ' button navigates to the first page,, +Verify when the user clicks on the >> button the last page should be displayed,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Click on the ' >> ' button

Verify that the last page is displayed
,Clicking on the ' >> ' button navigates to the last page,, +Verify the search field present and aligned,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Verify that the search field is present and properly aligned
,The search field is present and properly aligned,, +Verify place holder text added on search,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Inspect the search field for placeholder text

Verify that it is added and correct
,Placeholder text is added in the search field,, +Verify cursor is focused on the search field by default,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Load the page

Verify that the cursor is focused on the search field by default
,The cursor is focused on the search field by default,, +Verify search is functional and generating the correct result by adding valid search,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Enter a valid search term

Verify that the correct search results are generated
,The search is functional and generates correct results for valid searches,, +Verify if the user can paste the keyword with the mouse,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Paste a keyword into the search field using the mouse

Verify that it functions correctly
,User can paste values into the search field using the mouse,, +Verify and observe how much time required for getting the search result,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Perform a search

Observe and note the time taken to display the search results
,The time required to get search results meets the requirements,, +Verify the search result are generated by the search in the correct order as per requirement,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Verify that the search results are displayed in the correct order according to the requirements
,Search results are generated in the correct order as per the requirements,, +Verify pagination added in case if the search result go off the number of pages,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Perform a search with many results

Verify that pagination is added if the results span multiple pages
,Pagination appears if the search results span multiple pages,, +Verify the max and min range for the search keyword,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Test the search functionality with maximum and minimum keyword lengths

Verify that the search operates correctly within these ranges
,The max and min range values work properly,,? +Verify auto suggestion shown on adding a keyword,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Enter a keyword in the search field

Verify that auto-suggestions are displayed
,Auto-suggestions are shown when adding a keyword,,? +Verify if new items added to the list create a keyword be for the search,Site Layout,Containers,6,Functional,Go to the app using {{serverURL}}/dotAdmin/#/containers

Add new items to the list

Verify that the new items are searchable by their keywords
,New items added have keywords created for search,,? diff --git a/docs/test-cases/Design_Templates.csv b/docs/test-cases/Design_Templates.csv new file mode 100644 index 000000000000..a88ad0eaa398 --- /dev/null +++ b/docs/test-cases/Design_Templates.csv @@ -0,0 +1,29 @@ +Name,Suite,Section,Estimated Time,Type,Steps (Instructions),Steps (Expected Result),Preconditions/Validadtion,,,,,,,,,,,,,,,,,, +Create a Template with Default Structure,Templates,Advance,10,Functional,"1. Click on Create New Template. +2. Add a Header, SYSTEM_CONTAINER to the body, and a Footer.",The template automatically saves after 2- 3 seconds without needing manual saving.,"- User is logged in with appropriate permissions to create templates. +- The user is on the Templates section in the dotCMS admin panel.",,,,,,,,,,,,,,,,,, +Add a Row to the Template Body,Templates,Advance,10,Functional,"1. Open the template. +2. Add Row.",The row is automatically saved within 2- 3 seconds after being added.,"- A template with a SYSTEM_CONTAINER is already open for editing. +- The user has the necessary permissions to edit the template.",,,,,,,,,,,,,,,,,, +Add a Box to the Template Body,Templates,Advance,10,Functional,"1. Open the template. +2. Add Box.",The box is automatically saved within 2- 3 seconds after being added.,"- A template with a SYSTEM_CONTAINER is already open for editing. +- The user has the necessary permissions to edit the template.",,,,,,,,,,,,,,,,,, +Delete the Header Section,Templates,Advance,10,Functional,"1. Open the template. +2. Delete the Header section.",The Header gest deleted and the changes are automatically saved within 2- 3 seconds of the modification.,- A template with a header section already exist,,,,,,,,,,,,,,,,,, +Delete the Footer Section,Templates,Advance,10,Functional,"1. Open the template. +2. Delete the Footer section.",The Footer gest deleted and the changes are automatically saved within 2- 3 seconds of the modification.,- A template with a Footer section already exist,,,,,,,,,,,,,,,,,, +Apply a Theme to the Template,Templates,Advance,10,Functional,"1. Open the template. +2. Select a theme from the Theme options.",The theme is automatically applied and saved within 2- 3 seconds after the change.,"- User is logged in with access to the Themes feature. +- The user is editing an existing template",,,,,,,,,,,,,,,,,, +Assign Permissions to the Template,Templates,Advance,10,Functional,"1. Open the template. +2. Navigate to the Permissions tab. +3. Assign permissions to a specific role (e.g., Admin, Editor).",The assigned permissions are automatically saved within 2- 3 seconds after the change.,"- The user has access to the Permissions tab. +- The template is open for editing.",,,,,,,,,,,,,,,,,, +Save a Template Without a Body Container,Templates,Advance,10,Functional,"1. Create or open a template. +2. Add only a Header and Footer, without adding a Body container (e.g., SYSTEM_CONTAINER).","The system allows the action, and the template is saved.",User is logged in and editing a new or existing template.,,,,,,,,,,,,,,,,,, +Add a Row Without a Container,Templates,Advance,10,Functional,1. Attempt to add a row directly outside of the SYSTEM_CONTAINER or any other defined container.,"The system allows the action, and the template is saved.","A template is being edited, and the user has permissions to edit the layout.",,,,,,,,,,,,,,,,,, +Remove All Containers and Save,Templates,Advance,10,Functional,"1. Delete all containers (Header, Body, Footer).","The system allows the action, and the template is saved and the default row is added",A template with multiple containers is open for editing.,,,,,,,,,,,,,,,,,, +Edit a Template Without Permissions,Templates,Advance,10,Functional,1. Attempt to open and edit an existing template.,"The system prevents editing and does not allow automatic saving, displaying a permission error message.",- The user is logged in but does not have permission to edit templates.,,,,,,,,,,,,,,,,,, +Add Multiple Rows and Containers,Templates,Advance,10,Functional,1. Add 20+ rows and containers to the SYSTEM_CONTAINER.,The system should automatically save the changes within 2- 3 seconds without performance issues.,"- User has access to edit templates, and the system has no limitations on the number of rows or containers.",,,,,,,,,,,,,,,,,, +Duplicate Template Name,Templates,Advance,10,Functional,1. Create a new template with the same name as an existing one.,The system should let create templates with the same name,A template with the same name already exists in the system.,System lets creating templates with same names,,,,,,,,,,,,,,,,, +API Tab Functionality for Large Template,Templates,Advance,10,Functional,1. Open the API tab for the template.,The API information should load quickly,The template has a complex structure with many containers and rows.,,,,,,,,,,,,,,,,,, diff --git a/docs/test-cases/Experiments.csv b/docs/test-cases/Experiments.csv new file mode 100644 index 000000000000..6fdffafc85c5 --- /dev/null +++ b/docs/test-cases/Experiments.csv @@ -0,0 +1,52 @@ +Name,Section,Type,Test Case References,Steps (Instructions),Steps (Expected Result),Preconditions,,,Status,Assigned to: ,Status,Issue link +Validate inability to use A/B portlet without analytics configuration,Experiment Creation,Functional,EXP_1,Attempt to use A/B portlet without configuring analytics,Error message or inability to access A/B functionality,Have the experiments environment configured,,,,,, +Enable A/B functionality once analytics configured,Experiment Creation,Functional,EXP_2,Configure analytics and access A/B portlet,A/B functionality becomes accessible,Have the experiments environment configured,,,,,, +Create a new experiment,Experiment Creation,Functional,EXP_3,Navigate to experiments section and create a new experiment,New experiment is successfully created,Have the experiments environment configured,,,,,, +Validate Name field is required,Experiment Creation,Validation,EXP_4,Attempt to create experiment without entering a name,Error message indicating name is required,Have the experiments environment configured,,,,,, +Validate Description field is optional,Experiment Creation,Validation,EXP_5,Attempt to create experiment without entering a description,Experiment is created without error,Have the experiments environment configured,,,,,, +Indicate workflow status of variant,Configuring the new Experiment,UI,EXP_6,View variant details,Workflow status is displayed for the variant,Have the experiments environment configured,,,,,, +Edit the experiment title,Configuring the new Experiment,Functional,EXP_7,Edit title in experiment settings,Title is updated successfully,Have the experiments environment configured,,,,,, +Create two additional variants,Configuring the new Experiment,Functional,EXP_8,Add two new variants to the experiment,Two new variants are created successfully,Have the experiments environment configured,,,,,, +Edit a variant,Configuring the new Experiment,Functional,EXP_9,Select a variant and edit its properties,Variant properties are updated,Have the experiments environment configured,,,,,, +Delete a variant,Configuring the new Experiment,Functional,EXP_10,Select a variant and delete it,Variant is deleted,Have the experiments environment configured,,,,,, +Auto-calculate weight value when adding/removing variants,Configuring the new Experiment,Validation,EXP_11,Add or remove a variant,Weight values are recalculated automatically,Have the experiments environment configured,,,,,, +Custom split the weight value,Configuring the new Experiment,Functional,EXP_12,Manually adjust weight values,Weight values are saved correctly,Have the experiments environment configured,,,,,, +Prevent custom weight values >100,Configuring the new Experiment,Validation,EXP_13,Enter weight values totaling over 100,Error message or prevention of saving,Have the experiments environment configured,,,,,, +Prevent deletion of default variant,Configuring the new Experiment,Validation,EXP_14,Attempt to delete default variant,Action is blocked or error message shown,Have the experiments environment configured,,,,,, +Copy URL of each variant,Configuring the new Experiment,UI,EXP_15,Select a variant and copy its URL,URL is copied to clipboard,Have the experiments environment configured,,,,,, +Content in variant is isolated,Editing a variant,Functional,EXP_16,Add content to variant and check general contents,Content only visible within the variant,Have the experiments environment configured,,,,,, +Editing variant does not affect original,Editing a variant,Validation,EXP_17,Edit variant content,Original remains unchanged,Have the experiments environment configured,,,,,, +Different content in each variant,Editing a variant,Validation,EXP_18,Add different content to each variant,Content is unique per variant,Have the experiments environment configured,,,,,, +Navigate back to experiment properties,Editing a variant,UI,EXP_19,Edit variant and look for return option,Option to return to experiment properties exists,Have the experiments environment configured,,,,,, +Add/remove content from variants,Editing a variant,Functional,EXP_20,Add or remove content within variant,Content is adjusted within variant,Have the experiments environment configured,,,,,, +Display name of editing variant,Editing a variant,UI,EXP_21,Check variant name in edit mode,Variant name is displayed,Have the experiments environment configured,,,,,, +Edit layout of specific variant,Editing a variant,UI,EXP_22,Edit layout of variant,Layout changes saved for specific variant,Have the experiments environment configured,,,,,, +Preview variant,Editing a variant,Functional,EXP_23,Click preview option for variant,Variant preview is displayed,Have the experiments environment configured,,,,,, +Add variant page to bookmark,Editing a variant,Functional,EXP_24,Add variant page to bookmark,Page is bookmarked,Have the experiments environment configured,,,,,, +Retrieve variant info via API,Editing a variant,API,EXP_25,Click API button for variant,Variant information retrieved,Have the experiments environment configured,,,,,, +Goal required to start variant,Goals,Validation,EXP_26,Attempt to start variant without goal,Error message or block,Have the experiments environment configured,,,,,, +Set goals for experiment,Goals,Functional,EXP_27,Set a goal in experiment settings,Goal is saved,Have the experiments environment configured,,,,,, +Clear goal descriptions,Goals,UI,EXP_28,Review descriptions of goals,Descriptions are understandable,Have the experiments environment configured,,,,,, +Auto-generate goal name on select,Goals,UI,EXP_29,Select a goal,Name is generated automatically,Have the experiments environment configured,,,,,, +Custom name for goal,Goals,Functional,EXP_30,Enter custom name for goal,Custom name is saved,Have the experiments environment configured,,,,,, +Edit traffic allocation,Goals,Functional,EXP_31,Adjust traffic allocation,Traffic allocation saved,Have the experiments environment configured,,,,,, +Select start/end date,Scheduling,UI,EXP_32,Select start and end dates,Dates are selectable,Have the experiments environment configured,,,,,, +Display date component,Scheduling,UI,EXP_33,View date selector,Date selector is displayed,Have the experiments environment configured,,,,,, +Auto-set missing date to current date,Scheduling,Validation,EXP_34,Leave one date empty,Current date is auto-set,Have the experiments environment configured,,,,,, +Save scheduling on clicking Done,Scheduling,Functional,EXP_35,Click Done after setting dates,Scheduling is saved,Have the experiments environment configured,,,,,, +Remove scheduling,Scheduling,Functional,EXP_36,Remove scheduling from experiment,Scheduling removed,Have the experiments environment configured,,,,,, +Disable start without configuration,General,Validation,EXP_37,Attempt to start experiment without configuration,Start button disabled,Have the experiments environment configured,,,,,, +Start experiment with configuration,General,Functional,EXP_38,Complete configuration and start experiment,Experiment starts,Have the experiments environment configured,,,,,, +Add experiment to bundle,General,Functional,EXP_39,Add experiment to bundle,Experiment added to bundle,Have the experiments environment configured,,,,,, +Multiple experiments on same page,General,Functional,EXP_40,Create multiple experiments on one page,Experiments created successfully,Have the experiments environment configured,,,,,, +Classify experiments by status,General,UI,EXP_41,View list of experiments by status,Experiments are classified by status,Have the experiments environment configured,,,,,, +Filter experiments by status,General,UI,EXP_42,Filter experiments list by status,Experiments are filtered,Have the experiments environment configured,,,,,, +Access experiment results page,Experiment results,UI,EXP_43,Navigate to experiment results,Experiment results are accessible,Have the experiments environment configured,,,,,, +Generate graphs after 10 visits,Experiment results,Validation,EXP_44,Reach 10 visits,Graphs are generated,Have the experiments environment configured,,,,,, +Refresh graphs,Experiment results,Functional,EXP_45,Refresh experiment results,Graphs are updated,Have the experiments environment configured,,,,,, +Generate daily results,Experiment results,Functional,EXP_46,Check results after a day,Daily results are displayed,Have the experiments environment configured,,,,,, +Generate Bayesian results,Experiment results,Functional,EXP_47,Check Bayesian analysis results,Bayesian results are displayed,Have the experiments environment configured,,,,,, +Limited user can create/edit experiment,Permissions,Security,EXP_48,Log in as limited user and create/edit experiment,Limited user can create/edit experiment,Have the experiments environment configured,,,,,, +Limited user access to results,Permissions,Security,EXP_49,Log in as limited user and access results,Limited user can access experiment results,Have the experiments environment configured,,,,,, +Limited user cannot access A/B portlet,Permissions,Security,EXP_50,Log in as limited user and attempt to access A/B portlet,Access is denied,Have the experiments environment configured,,,,,, +Limited user cannot start experiment,Permissions,Security,EXP_51,Log in as limited user and attempt to start experiment,Access is denied,Have the experiments environment configured,,,,,, diff --git a/docs/test-cases/Forms.csv b/docs/test-cases/Forms.csv new file mode 100644 index 000000000000..b185d4374012 --- /dev/null +++ b/docs/test-cases/Forms.csv @@ -0,0 +1,32 @@ +Name,Suite,Section,Estimated Time,Type,Steps (Instructions),Steps (Expected Result),Preconditions/Validadtion,,Assigned to:,Status,Issue link,,,,,,,,,,,,,, +Create a New Form,Forms,Forms,10,Functional,"1. Click the + icon to create a new form. +2. Enter the required details (e.g., form name, variable, description). +3. Save the new form.","The new form is added to the list and appears with the correct name, variable, and description.",User has appropriate permissions to create a form.,,,,,,,,,,,,,,,,,, +View Form Submissions,Forms,Forms,10,Functional,"1. In the Entries column, click on the View link for a form that has submissions.",The user is taken to a page displaying all the entries for that form., The form has at least one submission.,,,,,,,,,,,,,,,,,, +Edit an Existing Form,Forms,Forms,10,Functional,"1. Click the options menu (three dots) for a form. +2. Select Edit. +3. Make changes to the form (e.g., update the description). +4. Save the changes.",The form is updated in the list with the new details.,A form is already present in the list.,,,,,,,,,,,,,,,,,, +Sort Forms by Last Edit Date,Forms,Forms,10,Functional,1. Click on the Last Edit Date column header.,The list displays only the forms matching the filter criteria.,There are multiple forms with different edit dates.,,,,,,,,,,,,,,,,,, +Filter Forms by Name,Forms,Forms,10,Functional,1. Type part or all of a form’s name into the Type to filter search bar.,"The script is saved, and the template renders the Velocity output correctly.",At least one form exists in the list.,,,,,,,,,,,,,,,,,, +Delete a Form,Forms,Forms,10,Functional,"1. Click the options menu (three dots) for a form. +2. Select Delete. +3. Confirm the deletion.",The form is removed from the list and no longer appears in the interface.,The form exists in the list.,,,,,,,,,,,,,,,,,, +Create a Form Without a Name,Forms,Forms,10,Functional,"1. Click the + icon to create a new form. +2. Leave the form name field blank. +3. Attempt to save the form.","The system displays an error message indicating that the form name is required, and the form is not created.",User is creating a new form.,,,,,,,,,,,,,,,,,, +Attempt to Create a Form with a Duplicate Variable,Forms,Forms,10,Functional,"1. Click the + icon to create a new form. +2. Enter a variable name that is already used by an existing form. +3. Attempt to save the form.","The system displays an error message indicating that the variable name must be unique, and the form is not created.",A form with a specific variable name already exists.,,,,,,,,,,,,,,,,,, +Attempt to Delete a Form With Entries,Forms,Forms,10,Functional,"1. Click the options menu (three dots) for the form. +2. Select Delete. +3. Confirm the deletion.",The system prompts a warning about the existing entries.,A form has one or more entries.,,,,,,,,,,,,,,,,,, +Edit Form Without Permissions,Forms,Forms,10,Functional,"1. Click the options menu (three dots) for a form. +2. Select Edit. +3. Attempt to make changes and save.",The system displays a permission error and prevents any changes from being saved.,User does not have permissions to edit forms.,,,,,,,,,,,,,,,,,, +Input Invalid Characters in the Variable Field,Forms,Forms,10,Functional,"1. Enter special characters (e.g., !@#$%^&*) in the Variable field. +2. Attempt to save the form.",The system displays an error message indicating that only valid characters are allowed in the variable name.,User is creating or editing a form.,,,,,,,,,,,,,,,,,, +Create a Form with a Very Long Name,Forms,Forms,10,Functional,"1. Enter a form name with a very large number of characters (e.g., 255 characters). +2. Attempt to save the form.",The system should either truncate the name to the maximum allowed length or display an error message. The form should not break the layout of the list.,User is creating a new form.,,,,,,,,,,,,,,,,,, +Navigate to Last Page with Large Number of Forms,Forms,Forms,10,Functional,"1. Use the pagination controls at the bottom of the interface. +2. Navigate to the last page","The system navigates to the last page correctly, displaying the remaining forms without performance issues.","The system contains a large number of forms, spanning multiple pages.",,,,,,,,,,,,,,,,,, diff --git a/docs/test-cases/Information_Panel.csv b/docs/test-cases/Information_Panel.csv new file mode 100644 index 000000000000..c539a05cc884 --- /dev/null +++ b/docs/test-cases/Information_Panel.csv @@ -0,0 +1,22 @@ +Name,Suite,Section,Estimated Time,Type,Steps (Instructions),Steps (Expected Result),Preconditions/Validadtion,,Assigned to: ,Status,Issue link,,,,,,,,,,,,,, +Toggle Column to Closed View,Information Panel,Panel,10,Functional,1. Click the toggle button to collapse the column.,"The column collapses and is no longer visible, and the content in the main area adjusts accordingly.",The column is in the open view.,,,,,,,,,,,,,,,,,, +Toggle Column to Open View,Information Panel,Panel,5,Functional,1. Click the toggle button to expand the column.,"The column expands and displays the Info, History, and Settings tabs. The content in the main area adjusts accordingly.",The column is in the closed view.,,,,,,,,,,,,,,,,,, +Verify Visible Content in Open View,Information Panel,Panel,5,Functional,"1. Expand the column. +2. Verify that content in the Info, History, and Settings tabs is visible.",All tabs show their corresponding content without any missing elements.,The column is open.,,,,,,,,,,,,,,,,,, +Attempt to Toggle Column with Disabled Button,Information Panel,Panel,5,Functional,1. Attempt to click the toggle button while it is disabled.,"The column does not open or close, and no action is taken.",The toggle button is disabled.,,,,,,,,,,,,,,,,,, +Resize Window with Column in Closed View,Information Panel,Panel,5,Functional,1. Resize the window to a smaller screen size (mobile view,"The column remains closed, and no distortion occurs in the layout.",The column is closed.,,,,,,,,,,,,,,,,,, +Resize Window with Column in Open View,Information Panel,Panel,5,Functional,1. Resize the window to a smaller screen size (mobile view).,The column remains open and adjusts to the smaller screen size without breaking the layout.,The column is open.,,,,,,,,,,,,,,,,,, +Verify Transition Between Open and Closed Views,Information Panel,Panel,5,Functional,"1. Open the column. +2. Close the column. +3. Repeat the process multiple times.","The transition between open and closed views is smooth without flickering, delays, or any visual artifacts.",The column is initially closed.,,,,,,,,,,,,,,,,,, +Verify Data Persistence After Collapse and Reope,Information Panel,Panel,5,Functional,"1. Enter data in the Settings tab. +2. Collapse the column. +3. Reopen the column.",The data entered in the Settings tab is persisted and visible after reopening the column.,"The column is open, and data has been entered in one of the tabs (e.g., in Settings).",,,,,,,,,,,,,,,,,, +Collapse Column During Content Loading,Information Panel,Panel,5,Functional,1. Click the toggle button to collapse the column while content is still loading.,"The column collapses smoothly without freezing or breaking, and no errors occur during the process.","The column is loading content (e.g., switching between tabs).",,,,,,,,,,,,,,,,,, +Collapse Column Under Slow Network Conditions,Information Panel,Panel,5,Functional,1. Attempt to collapse the column during slow network conditions.,"The column collapses as expected, even under slow network conditions, without any UI errors or broken elements.","The network connection is slow, and the column is currently ope",,,,,,,,,,,,,,,,,, +Toggle Column in Mobile View,Information Panel,Panel,5,Functional,1. Click the toggle button to expand the column in mobile view.,"The column expands properly, and all tabs (Info, History, Settings) adjust to the mobile screen without breaking the layout.","The column is closed, and the window is in mobile view",,,,,,,,,,,,,,,,,, +Verify Correct Tab Switching in Open View,Information Panel,Panel,5,Functional,"1. Switch between the Info, History, and Settings tabs while the column is open.",The content in each tab switches correctly and displays the corresponding data for each tab.,The column is open.,,,,,,,,,,,,,,,,,, +Expand Column and Update Data,Information Panel,Panel,5,Functional,"1. Open the column. +2. Make changes to the data in the Settings tab. +3. Collapse the column.",The changes made in the Settings tab are saved correctly even after the column is collapsed.,The column is closed.,,,,,,,,,,,,,,,,,, +Toggle Column with Network Disconnected,Information Panel,Panel,5,Functional,1. Attempt to open the column with the network disconnected.,The column either opens with cached content or displays an appropriate error message indicating that the content could not be loaded.,"The column is closed, and the network connection is lost.",,,,,,,,,,,,,,,,,, diff --git a/docs/test-cases/Pages_Portlet.csv b/docs/test-cases/Pages_Portlet.csv new file mode 100644 index 000000000000..e7b051c4f80d --- /dev/null +++ b/docs/test-cases/Pages_Portlet.csv @@ -0,0 +1,58 @@ +Name,Section,Type,Steps (Instructions),Steps (Expected Results),Preconditions,Status, +Check if Pages portlet is available for community and enterprise edition,Pages,Functional," 1: Open dotCMS in community and enterprise editions + 2: Verify the Pages portlet is available",Pages portlet is available in both community and enterprise editions,dotCMS is running in community or enterprise edition,, +Verify bookmark section is displayed,Pages,Functional," 1: Open Pages portlet + 2: Verify the bookmark section is displayed",Bookmark section is displayed,Pages portlet is open,, +Check if bookmark section can be expanded and collapsed,Pages,Functional," 1: Open bookmark section + 2: Expand and collapse the section",Bookmark section can be expanded and collapsed,Bookmark section is present,, +Verify thumbnail is displayed for each page in the bookmark,Pages,Functional," 1: Add pages to bookmark + 2: Verify thumbnails are displayed for each bookmark",Thumbnails are displayed for each bookmarked page,Pages are added to bookmark,, +Check if bookmark can be edited,Pages,Functional," 1: Open bookmark section + 2: Edit a bookmark",Bookmark is edited successfully,Bookmark is present for editing,,"shows the original title of the page, not the custom one" +Check if bookmark can be removed,Pages,Functional," 1: Open bookmark section + 2: Remove a bookmark",Bookmark is removed successfully,Bookmark is present for removal,, +Verify all sub-actions are displayed when bookmark options are expanded,Pages,Functional," 1: Expand bookmark options + 2: Verify all available sub-actions are displayed",All sub-actions are displayed when bookmark options are expanded,Bookmark options are expanded,, +Ensure listing of all pages of the selected host under bookmark section,Pages,Functional," 1: Select a host + 2: Verify all pages of the selected host are listed under the bookmark section",All pages of the selected host are listed under the bookmark section,Host is selected and pages are available,, +Validate filtering of pages by search component consistency,Pages,Functional," 1: Use the search component + 2: Filter pages by consistency",Pages are filtered correctly by consistency,Pages and search component are available,, +Validate filtering of pages by language,Pages,Functional," 1: Use the language filter + 2: Filter pages by language",Pages are filtered correctly by language,Language filter and pages are available,, +"Verify functionality of ""show archived"" checkbox",Pages,Functional," 1: Check the ""show archived"" checkbox + 2: Verify archived pages are displayed","Archived pages are displayed when ""show archived"" is checked",Archived pages are available,, +Check if pages can be sorted by title,Pages,Functional," 1: Open pages list + 2: Sort pages by title",Pages are sorted by title successfully,Pages list is available,, +Check if pages can be sorted by URL,Pages,Functional," 1: Open pages list + 2: Sort pages by URL",Pages are sorted by URL successfully,Pages list is available,, +Check if pages can be sorted by type,Pages,Functional," 1: Open pages list + 2: Sort pages by type",Pages are sorted by type successfully,Pages list is available,, +Check if pages can be sorted by status,Pages,Functional," 1: Open pages list + 2: Sort pages by status",Pages are sorted by status successfully,Pages list is available,,clarify how the status is determined +Check if pages can be sorted by last edited date,Pages,Functional," 1: Open pages list + 2: Sort pages by last edited date",Pages are sorted by last edited date successfully,Pages list is available,, +Verify all sub-actions in the page actions section are functional,Pages,Functional," 1: Open the page actions section + 2: Execute each sub-action",All sub-actions in the page actions section are executed successfully,Page actions section is available,,move and delete actions dont refresh data table +Check if new pages can be created from the portlet,Pages,Functional," 1: Open Pages portlet + 2: Create a new page",New page is created successfully from the portlet,Pages portlet is open and available for creating a new page,, +Verify adding a page as a bookmark from the pages list,Pages,Functional," 1: Open pages list + 2: Add a page as a bookmark",Page is added as a bookmark from the pages list,Pages list is available for adding bookmarks,, +"Check if adding a page as a bookmark requests required fields: title, URL, order",Pages,Functional," 1: Add a page as a bookmark + 2: Verify required fields: title, URL, order are requested","Required fields (title, URL, order) are requested when adding a page as a bookmark",Bookmark modal is available,, +Ensure live thumbnail generation when adding page as bookmark,Pages,Functional," 1: Add a page as a bookmark + 2: Verify live thumbnail is generated",Live thumbnail is generated successfully when adding page as bookmark,Bookmark modal is available,, +Check if thumbnail reloads when editing bookmark,Pages,Functional," 1: Edit a bookmark + 2: Click on reload button + 3: Verify the thumbnail is reloaded",Thumbnail is reloaded successfully when editing bookmark,Bookmark modal is available for editing,,must reload to see new thumbnail in portlet +Check if page can be removed as bookmark when editing,Pages,Functional," 1: Edit a bookmark + 2: Remove the page as a bookmark",Page is removed as bookmark successfully when editing,Bookmark modal is available for editing,, +Verify redirection to edit page when clicking on bookmark,Pages,Functional," 1: Click on a bookmark + 2: Verify redirection to edit the page",User is redirected to edit the page when clicking on bookmark,Bookmark section is available,,main menu selects the Broser portlet instead of Pages +Check if full page URL expands on mouse-over in bookmark section,Pages,Functional," 1: Hover over a bookmark + 2: Verify the full page URL expands",Full page URL expands on mouse-over in bookmark section,Bookmark section is available,, +Verify pagination functionality in the pages list,Pages,Functional," 1: Open pages list + 2: Verify pagination is working",Pagination works as expected in the pages list,Pages list is available with pagination,, +Check if portlet reloads when changing site selector,Pages,Functional," 1: Change the site using site selector + 2: Verify the portlet reloads",Portlet reloads successfully when changing the site using the site selector,Site selector is available,, +Ensure pages are filtered by site using the site selector,Pages,Functional," 1: Use the site selector + 2: Filter pages by site",Pages are filtered by site successfully using the site selector,Site selector and pages are available,, \ No newline at end of file diff --git a/docs/test-cases/README.md b/docs/test-cases/README.md new file mode 100644 index 000000000000..4fce554b5a4f --- /dev/null +++ b/docs/test-cases/README.md @@ -0,0 +1,30 @@ + +# dotCMS Test Suite Index + +This repository contains test cases for various features in dotCMS. Each feature listed below has a corresponding test suite to ensure quality and functionality across our platform. If a requested feature is not listed, please refer to the process outlined below. + +## Test Suite Index + +| Feature | Test Suite Available | +|-------------------|----------------------| +| Advanced Templates | ✅ | +| Apps Portlet | ✅ | +| Binary Field | ✅ | +| Categories | ✅ | +| Containers | ✅ | +| Design Templates | ✅ | +| Experiments | ✅ | +| Forms | ✅ | +| Information Panel | ✅ | +| Pages Portlet | ✅ | +| Rules Engine | ✅ | +| UVE | ✅ | +| WYSIWYG | ✅ | + +## Process for Missing Features + +If the requested feature is not in the list above, please follow these steps: + +1. File a new GitHub ticket detailing the feature request. +2. Tag the Quality Assurance department in the ticket. +3. The QA team will coordinate to create a comprehensive list of test cases for the requested feature. diff --git a/docs/test-cases/Rules_Engine.csv b/docs/test-cases/Rules_Engine.csv new file mode 100644 index 000000000000..232f557a6da4 --- /dev/null +++ b/docs/test-cases/Rules_Engine.csv @@ -0,0 +1,36 @@ +Name,Suite,Section,Estimated Time,Type,Steps (Instructions),Steps (Expected Result),Preconditions/Validadtion,,Assigned to: ,Status,Issue link,,,,,,,,,,,,,, +Create and Activate a Basic Rule,Rules Engine,Rules,10,Functional,"1. Navigate to Marketing > Rules. +2. Click on Add Rule. +3. Set the condition to fire the rule based on Browser Language set to English. +4. Set the action to Redirect to a specific URL (e.g., /content). +5. Save and activate the rule.","- The rule should be saved and appear in the list as active. +- When a visitor with an English browser language accesses the site, they should be redirected to the specified URL.", User is logged into the dotCMS admin panel.,,,,,,,,,,,,,,,,,, +Add Multiple Actions to a Rule,Rules Engine,Rules,20,Functional,"1. Edit the existing rule from Test Case 1. +2. Add the following actions: + - Set Request Attribute with a value (e.g., RequestAttribute=value). + - Assign a Persona (e.g., Eco Enthusiast). + - Set Response Header. +3. Save and activate the rule.","- The rule should save successfully with all actions. +- Upon accessing the site with an English browser language, the visitor should: + - Be redirected. + - The request attribute should be set in the browser's developer tools. + - The persona should be",A basic rule already exists. Use developer tools or backend logs to verify each action occurs.,,,,,,,,,,,,,,,,,, +Rule Evaluation Frequency,Rules Engine,Rules,25,Functional,"1. Create a rule with the condition Browser Language = English. +2. Set the action to Redirect to a different URL. +3. Set the evaluation frequency to Once per visit. +4. Test by refreshing the page multiple times.","The rule should fire only on the first visit, and subsequent page loads should not trigger the redirect until a new session is initiated.",Verify rule behavior by checking if the redirect occurs only on the first page load of the session.,,,,,,,,,,,,,,,,,, +Testing Rule Deactivation,Rules Engine,Rules,25,Functional,"1. Navigate to Marketing > Rules. +2. Deactivate an active rule. +3. Visit the site with the conditions of the rule (e.g., browser language is English).","The rule should not fire when it is deactivated, and the user should not be redirected or experience any of the actions tied to the rule.",Use a browser to access the site and verify the rule is no longer applied.,,,,,,,,,,,,,,,,,, +Test Error Handling for Invalid Rule Configuration,Rules Engine,Rules,20,Functional,"1. Create a new rule with a condition but leave some mandatory fields empty (e.g., action fields). +2. Try to save the rule.",The system should prompt an error message indicating which fields are missing or invalid.,Ensure that the rule cannot be saved without completing the necessary fields.,,,,,,,,,,,,,,,,,, +Apply Rule on a Specific Page,Rules Engine,Rules,20,Functional,"1. Create a new rule. +2. Set the condition to Browser Language = English. +3. Assign the rule to a specific page via the Rules tab on the Page Editor. +4. Test by visiting the assigned page.","The rule should only fire when the visitor accesses the specific page, not on other pages.",Test by visiting various pages to ensure the rule only applies to the intended page.,,,,,,,,,,,,,,,,,, +Rule with No Conditions,Rules Engine,Rules,25,Functional,"1. Create a new rule in the Marketing > Rules section. +2. Skip setting a condition (leave the condition field blank). +3. Set an action (e.g., redirect to /content or assign a persona). +4. Save and activate the rule. +5. Visit the site with a standard brows","- The rule should either fail to save or provide a validation error, as rules should not be able to execute without conditions. +- If the rule does save, it should behave unpredictably, potentially applying to all visitors, so the system should prevent suc",Ensure that the rule system correctly blocks rule creation without a condition or handles it safely.,,,,,,,,,,,,,,,,,, diff --git a/docs/test-cases/UVE.csv b/docs/test-cases/UVE.csv new file mode 100644 index 000000000000..060d77042c8f --- /dev/null +++ b/docs/test-cases/UVE.csv @@ -0,0 +1,188 @@ +Name,Section,Type,Test Case References,Steps (Instructions),Steps (Expected Result),Preconditions,Mode,,Assigned to: ,Status,Issue link (In case of fail),Notes,,,,,,,,,,,,, +Users should be to edit the new UVE editor,UVE,Functional,Ticket #26644,"1. Start the dotCMS instance +2. Navigate to the dotCMS backend +3. Try to edit a page and make sure you have the new UVE editor",You should be able to edit the page in the new UVE editor,"1. Set this FF: +- ""DOT_FEATURE_FLAG_NEW_EDIT_PAGE"": ""true"" +2. Configure UVE following the documentation",VTL/HEADLESS,,Valentino Giardino,Passed,https://github.com/dotCMS/core/issues/29768,Issue found when trying to add an Event to a container but the issue is in the Next example.,,,,,,,,,,,,, +Contentlet: Add button,UVE,Functional,,"1. Edit any page. +2. Hover a contentlet +3. Click `+` icon +4. Select a option: Content, Widget, Form (Enterprise) +","1. A dialog should opens. +2. Select the content you want to add. +3. The content should be added to the top or the bottom depends on the button +you clicked",Have a page asset with content in it.,VTL/HEADLESS,,Valentino Giardino,Passed,,,,,,,,,,,,,,, +Contentlet: Add Widget,UVE,Functional,,"1. Edit any page. +2. Add a `Widget`","The Widget should be added correctly even if it's not in the container's +whitelist","1. Have a page asset +2. Have a Widget",VTL/HEADLESS,,Valentino Giardino,Passed,,Next example doesnt have widget component,,,,,,,,,,,,, +Contentlet: Code ,UVE,Functional,,"1. Edit any page. +2. Hover a contentlet with `.vtl` code +3. Click `code` icon","1. A dialog should opens the Eidt Content for the `vtl` code +2. You should be able to do any changes you like and save it. +3. Close the dialog. +4. The `vtl` code changes should be reflected on the page.",Have a page asset with content in it.,VTL/HEADLESS,,Valentino Giardino,Failed,https://github.com/dotCMS/core/issues/29854,Code icon/button not showing in headless,,,,,,,,,,,,, +Contentlet: Delete ,UVE,Functional,,"1. Edit any page. +2. Hover any content in the page. +3. Click ``delete icon",It should delete the content,Have a page asset with content in it.,VTL/HEADLESS,,Valentino Giardino,Passed,,,,,,,,,,,,,,, +Contentlet: Edit,UVE,Functional,,"1. Edit any page. +2. Hover any content in the page. +3. Click on the `pencil` icon in the tools.","1. A dialog should opens the Edit Content form. +2. You should be able to do any changes you like and save it. +3. Close the dialog. +4. The new changes content should be now reflected on the page.",Have a page asset with content in it.,VTL/HEADLESS,,Valentino Giardino,Passed,,,,,,,,,,,,,,, +Contentlet: Inline Editing [WYSIWYG only],UVE,Functional,Ticket #28196,"1. Edit any page. +2. Add a `WYSIWYG` to a container +3. Click on the content +","The WYSIWYG field shoul enable inline-editing with a minimal editor +configuration",Have a page asset with content with a WYSIWYS field in it.,VTL,,Valentino Giardino,Passed,,,,,,,,,,,,,,, +Contentlet: Move ,UVE,Functional,,"1. Edit any page. +2. Hover any content in the page. +3. Click and hold the `Arrows alt` icon +4. Position the content in the same container or in other one.","1. While holding the mouse you should see the contenttype name. +2. You should be able to move the content to another container. +3. You should be able to move the content in the same container in a different +position. +4. You should not be able to drop it outside a content",Have a page asset with content in it.,VTL/HEADLESS,,Valentino Giardino,Failed,https://github.com/dotCMS/core/issues/29837,UVE: Dragging a contentlet out of the browser and then dropping it into a container breaks the UVE,,,,,,,,,,,,, +Drag&Drop: Auto Scroll,UVE,Functional,,"1. Grab an content or item from the content palette +2. Move the item to the bottom or top +3. See how the page scroll automatically while grabbing",The page should scroll automatically,Have a page asset with content in it.,VTL/HEADLESS,,Valentino Giardino,Passed,,,,,,,,,,,,,,, +Drag&Drop: Upload Assets,UVE,Functional,,"1. From your desktop grab an image or asset +2. Drop it in a container that accepts dotAssets",It should upload the assets to dotCMS and display it in the page,Have a page asset with conatiner in it.,VTL/HEADLESS,,Valentino Giardino,Failed,https://github.com/dotCMS/core/issues/29837,UVE: Dragging a contentlet out of the browser and then dropping it into a container breaks the UVE.,,,,,,,,,,,,, +Headless: devURLWhitelist,UVE,Functional,,"1. Go to Apps > UVE +2. Set up the configuration in this ticket #28871 +3. Go to Edit Page +4. Once in there, you can add `&clientHost=""YOUR_DEV_URL""` to the URL.","You should be able to toggle between the different pages you set in the +whitelist by changing that query params with URL you want.","1. Have a page asset +2. Configure UVE for Headless as shown here: ticket +#28871",HEADLESS,,Valentino Giardino,Passed,https://github.com/dotCMS/core/issues/29836,Solved in #29836,,,,,,,,,,,,, +Headless: SETUP external hosting ,UVE,Functional,,Set-up the UVE for a external Hosting folllowing this documentation,You should be able to see you hosted page and edit it in dotCMS,"1. Configure UVE for external hosts +2. Enterprise License",,,Valentino Giardino,Passed,,,,,,,,,,,,,,, +Navigation bar: Content Paletter [Enterprise only],UVE,Functional,,It should function the same way as it did in the previous version of the editor,"It should let you seletect Contenttypes and Contentlets to add to a container +in the page. + +More information: + +- Universal Visual Editor: The Content Palette +- Page Editor (Legacy): The Content Palette","1. Have a page asset +2. Have an Enterprise License",VTL/HEADLESS,,Valentino Giardino,Passed,,,,,,,,,,,,,,, +Navigation bar: Experiments [Enterprise only],UVE,Functional,,It should function the same way as it did in the previous version of the editor,"It should let youto create variants of a Page and compare their performance +against defined goals + +More information: + +- Experiments and A/B Testing","1. Have a page asset +2. Have a Experiments enviroment running",VTL/HEADLESS,,Valentino Giardino,Failed,https://github.com/dotCMS/core/issues/29590,copy experiment url button not working propertly,,,,,,,,,,,,, +Navigation bar: Layout [Enterprise only],UVE,Functional,,It should function the same way as it did in the previous version of the editor,"It should let you modify the layout as in the template portlet + +More information: + +- Design Template","1. Have a page asset with a Design Template +2. Have a Enterprice License",VTL/HEADLESS,,Valentino Giardino,Passed,,,,,,,,,,,,,,, +Navigation bar: Page properties,UVE,Functional,,It should function the same way as it did in the previous version of the editor,"It should let you update the page properties + +More information: + +- Page Properties",Have a page asset with a Design Template,VTL/HEADLESS,,Valentino Giardino,Failed,https://github.com/dotCMS/core/issues/29896,,,,,,,,,,,,,, +Navigation bar: Page Tools,UVE,Functional,,It should function the same way as it did in the previous version of the editor,"The Page Tools pane opens a popup, seen below, that includes convenient +links to services that can help evaluate a page for accessibility, security, etc. + +More information: + +- Page Tools",Have a page asset,VTL/HEADLESS,,Valentino Giardino,Passed,,,,,,,,,,,,,,, +"Navigation bar: Verify we are refreshing the +page properties after any change",UVE/Sidebar,Functional,Ticket #28398,"1. Edit any page and save the changes +2. Edit the page again and bring back to the previous version +3. Make sure we are refreshing the properties modal ",The properties modal should be refreshed after bring back ,Have a dotCMS instance running ,VTL/HEADLESS,,Valentino Giardino,Passed,,,,,,,,,,,,,,, +Navigation: Re-order,UVE,Functional,Ticket #28040,"1. Click on the navigation buttom to reorder the menu. +2. Reorder the menu + +See this ticket to set-up the `reorder` button in the UVE",You should be able to see the menu in the order you set,"1. Have a page asset with +2. Set-up the `reorder` button in the UVE. +More information here",VTL,,Valentino Giardino,Passed,,,,,,,,,,,,,,, +Toolbar: Preview - Social Media Tiles,UVE/Toolbar,Fuctional,Ticket #26911,"1. Edit any page +2. Click on `Preview` +3. Selec any `Social Media Tiles`","You should be able to preview the page in your chosen social media platform, +including the meta tags information.",Have a page asset,VTL/HEADLESS,,Valentino Giardino,Failed,https://github.com/dotCMS/core/issues/29895,blog description showing $pDescription,,,,,,,,,,,,, +Toolbar: Workflow Actions,UVE/Toolbar,Functional,Ticket #26702,"1. Edit any page +2. Execute any Workflow Actions available (Click on the button)","1. The workflwo should run successfully. +2. Message should be display when a WF ends. +3. The buttons should update we the new WF available.","1. Have a page asset +2. Assing a Workflow Action to that Page",VTL/HEADLESS,,Valentino Giardino,Failed,https://github.com/dotCMS/core/issues/29891,toolbar botton not working,,,,,,,,,,,,, +Toolbar: API Button,UVE/Toolbar,Functional,Ticket #26846,"1. Edit any page +2. Click on `API` button","1. The page API should be open in a new tap. +2. The URL should point to `/api/v1/page/json/${YOU_PAGE_URL}`","1. Set the FF +2. Create a page asset",VTL/HEADLESS,,Valentino Giardino,Passed,,,,,,,,,,,,,,, +Toolbar: Bookmark Button,UVE/Toolbar,Functional,Ticket #26914,"1. Edit any page +2. Click on the bookmark icon. (It should open a dialog) +3. Fill the bookmar form +4. Click on `save` +5. Go to the Page portlet +6. Open the Bookmarks section","You should have a new `Favorite Page` contentlet with +the page information.","1. Set the FF +2. Create a page asset +3. Configure Bookmarks if needed [documentation]",VTL/HEADLESS,,Valentino Giardino,Passed,,,,,,,,,,,,,,, +Toolbar: Copy URL Button,UVE/Toolbar,Functional,Ticket #26846,"1. Edit any page +2. Click on `Copy URL` button","1. You should have the page `URL` on your clipboard. +2. The `URL` should not have any query params. +3. The `URL` should include the `host` origin.","1. Set the FF +2. Create a page asset",VTL/HEADLESS,,Daniel Colina,Passed,,,,,,,,,,,,,,, +Toolbar: Persona Selector,UVE/Toolbar,Functional,Ticket #26845,"1. Edit any page +2. Click on the Persona Dropdown +3. Select any available persona +4. Click on `Accept`","1. A personalized version of the page should be created for the person +you selected. +2. The `com.dotmarketing.persona.id` in the queryParams should be +updated with the new personId","1. Have a page asset +2. Have more than one persona",VTL/HEADLESS,,,Passed,,,,,,,,,,,,,,, +Toolbar: Preview - Devices,UVE/Toolbar,Fuctional,Ticket #26911,"1. Edit any page +2. Click on `Preview` +3. Select any device ","The page should adjust to the device's size and allow you to see a preview. +When in ""preview"" mode, the page should not be editable.",Have a page asset,VTL/HEADLESS,,Daniel Colina,Passed,,,,,,,,,,,,,,, +Toolbar: Preview - Open Published Version,UVE/Toolbar,Fuctional,Ticket #26911,"1. Edit any page +2. Click on `Preview` +3. Selec any `Open Published Version`",You should be able to see the published page in a new page tab,Have a page asset,VTL/HEADLESS,,Daniel Colina,Passed,,,,,,,,,,,,,,, +Toolbar: Preview - Search Engine,UVE/Toolbar,Fuctional,Ticket #26911,"1. Edit any page +2. Click on `Preview` +3. Selec any `Search Engine Results Pages`","You should be able to preview the page in your chosen social media platform, +including the meta tags information.",Have a page asset,VTL/HEADLESS,,Daniel Colina,Failed,https://github.com/dotCMS/core/issues/29895,,,,,,,,,,,,,, +"Toolbar: Language - Users should be able to toggle page +language ",UVE/Toolbar,Functional,Ticket #26821,"1. Go to Edit Page +2. Click on the Language Dropdown +3. It should display a language list where the page is available +4. Click on any language. +","You should be able to see the page for that language with its +relate content in that language as well","1. Set the FF +2. Create a page asset in english +3. Create a different version of that Page in other language +",VTL/HEADLESS,,Daniel Colina,Failed,https://github.com/dotCMS/core/issues/29851,,,,,,,,,,,,,, +Verify UVE displays more than 10 personas ,UVE,Fuctional,Ticket #29161,"1. Login +2. Add more than 10 personas +3. Try to edit a page +4. Make sure you are able to see more than 10 personas in the selector ",We should be able to list all the personas without problems ,"1. Have a dotcms instance running +2. Have the proper confing in the UVE app",,,Daniel Colina,Passed,,,,,,,,,,,,,,, +Verify you can in-line editing in UVE,UVE,Functional,Ticket #28973,"1. Login +2.Try to edit some page +3. Make sure you are able to use the in-line editing feature ",You should be able to edit the page in the new UVE editor,"1. Have a dotcms instance running +2. Have the proper confing in the UVE app",,,Daniel Colina,Passed,https://github.com/dotCMS/core/issues/29838,Next example does not work properly. However the Angular example works fine. It has been fixed.,,,,,,,,,,,,, +"Verify you can Edit GraphQL Generated Pages +",UVE,Functional,Ticket #29045,"1. Login +2. Try to edit a page inside the /campaing/... folders (those are generated by GQL) +3. Attempt to enter the UVE mode to make edits. +",You should be able to edit the page in the new UVE editor without problems and no errors present ,"1. Have a dotcms instance running +2. Have the proper confing in the UVE app",VTL/HEADLESS,,Daniel Colina,Passed,,,,,,,,,,,,,,, +Make sure the Config for devURLWhitelist is working as expected,UVE,Fuctional,Ticket #29069,"1. Login +2. Go to apps and add the proper config +3. Make sure the withe listing is working as expected +",All the listed urls should work without problems ,"1. Have a dotcms instance running +2. Have the proper confing in the UVE app",,,Daniel Colina,Passed,https://github.com/dotCMS/core/issues/29836,Solved in #29836,,,,,,,,,,,,, +Make sure you are able to in-line editing on UVE,UVE,Fuctional,,"1. Login +2. Edit any page +3. try to in-line editing any piece of content +",You should be able to edit using the inline editing without anyh problem ,"1. Have an instance running +2. Make sure you have the proper UVE config ",,,Daniel Colina,Passed,https://github.com/dotCMS/core/issues/29838,Next example does not work properly. However the Angular example works fine. It has been fixed. ,,,,,,,,,,,,, +Make sure in-line editing is working on cross-domain,UVE,Functional,Ticket #29311,"1. Login +2. Edit any page +3. try to in-line editing any piece of content +",You should be able to edit using the inline editing without anyh problem ,"1. Have an instance running +2. Make sure you have the proper UVE config ",,,Daniel Colina,Passed,,,,,,,,,,,,,,, diff --git a/docs/test-cases/WYSIWYG.csv b/docs/test-cases/WYSIWYG.csv new file mode 100644 index 000000000000..0e66f4dd6b72 --- /dev/null +++ b/docs/test-cases/WYSIWYG.csv @@ -0,0 +1,54 @@ +Name,Suite,Section,Estimated Time,Type,Steps (Instructions),Steps (Expected Result),Preconditions/Validadtion,,Assigned to: ,Status,Issue link,,,,,,,,,,,,,, +Basic Text Entry,WYSIWYG,WYSIWYG,10,Functional,"1.Enter the text ""Hello, World!"" into the editor.","The text ""Hello, World!"" is displayed in the editor without any formatting.",WYSIWYG editor is open,,,,,,,,,,,,,,,,,, +Text Formatting,WYSIWYG,WYSIWYG,10,Functional,"1.Select the text. +2.Click the ""Bold"" button and observe. +3.Click the ""Italic"" button and observe. +4.Click the ""Underline"" button and observe.","The selected text appears bold, italicized, and underlined.","WYSIWYG editor is open, and some text is entered.",,,,,,,,,,,,,,,,,, +Text Alignment,WYSIWYG,WYSIWYG,10,Functional,"1.Select all text. +2.Click each alignment option (Left, Center, Right, Justify) and observe each time.", The text aligns as per the selected alignment option.,WYSIWYG editor is open with multiple lines of text.,,,,,,,,,,,,,,,,,, +Font and Font Size Change,WYSIWYG,WYSIWYG,10,Functional,"1.Select the text. +2.Change the font to ""Arial"" and size to ""16pt.""",The selected text changes to Arial font with a size of 16pt.,WYSIWYG editor is open with some text entered.,,,,,,,,,,,,,,,,,, +Lists,WYSIWYG,WYSIWYG,10,Functional,"1.Enter a few lines of text. +2.Select the lines and click the ""Bullet list"" button. +3.Click the ""Numbered list"" button for another set of lines",Text appears as a bulleted list and a numbered list respectively.,WYSIWYG editor is open.,,,,,,,,,,,,,,,,,, +Hyperlink Creation,WYSIWYG,WYSIWYG,10,Functional,"1.Select the text. +2.Click the ""Insert Link"" button and enter a valid URL (e.g., https://example.com).",The selected text becomes a clickable hyperlink redirecting to https://example.com.,WYSIWYG editor is open with some text.,,,,,,,,,,,,,,,,,, +Image Insertion,WYSIWYG,WYSIWYG,10,Functional,"1.Click the ""Insert Image"" button. +2.Select a valid image file.",The selected image appears in the editor and can be resized or aligned.,WYSIWYG editor is open.,,,,,,,,,,,,,,,,,, +Invalid URL in Hyperlink,WYSIWYG,WYSIWYG,10,Functional,"1.Select the text. +2.Click the ""Insert Link"" button and enter an invalid URL (e.g., invalid_url).","An error message is displayed, or the link is not created.", WYSIWYG editor is open with some text,,,,,,,,,,,,,,,,,, +Invalid Image File Type,WYSIWYG,WYSIWYG,10,Functional,"1. Attempt to open and edit an existing template.1.Click the ""Insert Image"" button. +2.Select an unsupported file type (e.g., .exe).","The editor shows an error, preventing the image upload.",WYSIWYG editor is open.,,,,,,,,,,,,,,,,,, +Oversized Image Upload,WYSIWYG,WYSIWYG,10,Functional,"1.Click the ""Insert Image"" button. +2.Select an oversized image file (e.g., 50 MB).",The editor displays an error or compresses the image if supported.,WYSIWYG editor is open.,,,,,,,,,,,,,,,,,, +Empty Input,WYSIWYG,WYSIWYG,10,Functional,1.Attempt to submit content without entering any text or media.,The system handles the submission without error or prompts the user to add content.,WYSIWYG editor is open.,,,,,,,,,,,,,,,,,, +Long Text Without Spaces,WYSIWYG,WYSIWYG,10,Functional,"1.Enter a very long word (e.g., 200 characters without spaces).",The editor handles the text without breaking layout; text is wrapped or scrollable if necessary.,WYSIWYG editor is open.,,,,,,,,,,,,,,,,,, +Combination of All Formatting Options,WYSIWYG,WYSIWYG,10,Functional,"1.Select the text. +2.Apply multiple formatting options (bold, italic, underline, color, alignment).",The text reflects all selected formatting without conflicts.,WYSIWYG editor is open,,,,,,,,,,,,,,,,,, +Copy-Paste from External Sources,WYSIWYG,WYSIWYG,10,Functional,"1.Copy text from Word or Google Docs with various formatting. +2.Paste it into the editor.",The pasted content retains formatting as closely as possible to the original.,WYSIWYG editor is open.,,,,,,,,,,,,,,,,,, +Special Characters and Emojis,WYSIWYG,WYSIWYG,10,Functional,"1.Enter special characters (e.g., ©, %,&,*) into the editor.",The special characters and emojis display correctly without breaking the editor.,WYSIWYG editor is open,,,,,,,,,,,,,,,,,, +Basic HTML Editing,WYSIWYG,WYSIWYG,10,Functional,"1.Enter basic HTML code, such as

Hello, World!

. +2.Switch back to WYSIWYG view to check if the text renders correctly.","""Hello, World!"" displays in the WYSIWYG view as regular text.",WYSIWYG editor is open,,,,,,,,,,,,,,,,,, +Text Formatting Tags,WYSIWYG,WYSIWYG,10,Functional,"1.Enter HTML tags for formatting, such as Bold, Italic, and Underline. + 2.Switch to WYSIWYG view.","The text appears with bold, italic, and underline formatting as specified in the HTML.",WYSIWYG editor is open in code view.,,,,,,,,,,,,,,,,,, +Adding Links in Code View,WYSIWYG,WYSIWYG,10,Functional,"1.Enter an HTML anchor tag: Example Link. +2.Switch back to WYSIWYG view.","“Example Link” appears as a clickable hyperlink, opening https://example.com when clicked.", WYSIWYG editor is open in code view.,,,,,,,,,,,,,,,,,, +Image Tag Addition,WYSIWYG,WYSIWYG,10,Functional,"1.Enter an HTML tag with a valid image URL: . +2.Switch to WYSIWYG view.",The image is displayed in the editor with the specified source and alt text, WYSIWYG editor is open in code view.,,,,,,,,,,,,,,,,,, +Correctly Structured HTML,WYSIWYG,WYSIWYG,10,Functional,"1.Enter properly nested HTML tags, such as

Nested Text

. +2.Switch back to WYSIWYG view.","""Nested Text"" appears with the correct formatting and hierarchy as per the HTML structure.",WYSIWYG editor is open in code view.,,,,,,,,,,,,,,,,,, +Incorrect HTML Structure,WYSIWYG,WYSIWYG,10,Functional,"1.Enter incorrectly structured HTML, such as Incorrect HTML. +2.Switch to WYSIWYG view and observe the result.","The editor ignores or removes the invalid tag, displaying only the text ""Invalid Tag.""", WYSIWYG editor is open in code view.,,,,,,,,,,,,,,,,,, +Invalid Attribute Values,WYSIWYG,WYSIWYG,10,Functional,"1.Enter an image tag with an invalid URL, e.g., . +2.Switch to WYSIWYG view.","The system prevents editing and does not allow automatic saving, displaying a permission error message.",WYSIWYG editor is open in code view.,,,,,,,,,,,,,,,,,, +Unsupported File Types in Code,WYSIWYG,WYSIWYG,10,Functional,"1.Enter an tag with an unsupported file type, such as . +2.Switch to WYSIWYG view.",The editor ignores the tag or displays an error indicating the file type is unsupported.,WYSIWYG editor is open in code view.,,,,,,,,,,,,,,,,,, +Long HTML Content,WYSIWYG,WYSIWYG,10,Functional,"1.Paste a large amount of HTML content (e.g., 10,000+ characters). +2.Switch to WYSIWYG view.",The editor handles the large content smoothly without lag or crash.,WYSIWYG editor is open in code view.,,,,,,,,,,,,,,,,,, +Invalid Inline Style Syntax,WYSIWYG,WYSIWYG,10,Functional,"1.Add an HTML element with an inline style using incorrect syntax:

Styled Text

. +2.Switch to WYSIWYG view.","The editor ignores the invalid style, but the text ""Styled Text"" remains visible.",WYSIWYG editor is open in code view.,,,,,,,,,,,,,,,,,, +Concurrent Editing in Code and WYSIWYG Views,WYSIWYG,WYSIWYG,10,Functional,"1.Make changes to the HTML in code view. +2.Quickly switch to WYSIWYG view, then back to code view.","The changes remain consistent between views, and no data is lost.", WYSIWYG editor is open in code view.,,,,,,,,,,,,,,,,,, +Invalid Inline Event Handler,WYSIWYG,WYSIWYG,10,Functional,"1.Enter an element with an invalid inline event handler: . +2.Switch to WYSIWYG view and click the button.","The button displays in the WYSIWYG view, but the invalid function does not execute or cause errors.", WYSIWYG editor is open in code view.,,,,,,,,,,,,,,,,,,