# Test Plan
# Part 1
# perform clean install
# execute tests from the other parts of the test plan
# perform upgrade
# execute tests from the other parts of the test plan
# Part 2 - unit tests
# run these tests and confirm, that they've passed:
* kUtilTest::testNetMatch
* DebuggerUtilTest::testNetMatch
# Part 3 - debug mode supports IPv4 and IPv6
# ensure, that IPv4 address you're using to access an In-Portal or a subnet it (IPv4 address) belongs to is listed in the `$dbg_options['DBG_IP']` key of the `/system/debug.php` file
# open the website
# confirm, that Debug Mode is enabled
# add `$_SERVER['REMOTE_ADDR'] = '971a:6ff4:3fe8:ce27:7085:f498:fc5a:9895';` line at the beginning of the `/core/kernel/startup.php` file and save changes
# open the website
# confirm, that Debug Mode is disabled
# replace value of the `$dbg_options['DBG_IP']` key (make a backup) in the `/system/debug.php` file into `971a:6ff4:3fe8:ce27:7085:f498:fc5a:9893` and save changes
# confirm, that Debug Mode is disabled
# replace value of the `$dbg_options['DBG_IP']` key in the `/system/debug.php` file into `971a:6ff4:3fe8:ce27:7085:f498:fc5a:9893-971a:6ff4:3fe8:ce27:7085:f498:fc5a:9895` and save changes
# confirm, that Debug Mode is enabled
# replace value of the `$dbg_options['DBG_IP']` key in the `/system/debug.php` file into `971a:6ff4:3fe8:ce27:7085:f498:fc5a:9893/64` and save changes
# confirm, that Debug Mode is enabled
# replace value of the `$dbg_options['DBG_IP']` key in the `/system/debug.php` file into `971a:6ff4:3fe8:ce27:7085:f498:fc5a:9895` and save changes
# confirm, that Debug Mode is enabled
# Part 4 - form submissions
# login to the Admin Console
# go to the {nav Website & Content > Forms} section
# create a form with any configuration (if you don't have any form already)
# go to the {nav Website & Content > Structure & Data} section
# create a section (category) with these properties (the `any value` means any value you want):
* Section Title: any value
* Parent Section: any value
* Template: "Online Form :: /platform/designs/form"
* Online Form: any non-empty value
# go to the Front-End
# open the above-created page
# submit the form (it's fine that you're stayed on the same page)
# go to the Admin Console
# go to the {nav Website & Content > Forms > your form name} section
# confirm, that:
* just made form submission is shown in the grid
* the IPv6 address of that record is shortened based on the available column width
# resize the column with in IP address so that "..." is no longer displayed
# confirm, that shown IP address matches IPv6 address from the `/core/kernel/startup.php` file
# open just made form submission for viewing
# confirm, that IP address of just made form submission matches IPv6 address from the `/core/kernel/startup.php` file
# Part 5 - session
# login to the Admin Console
# go to the {nav Configuration > Website > Advanced} section
# enable the `Track database changes to change log` system setting and save changes
# logout
# login
# go to database editor (e.g. phpMyAdmin)
# confirm, that value of the `UserSessions.IpAddress` column for your session matches IPv6 address from the `/core/kernel/startup.php` file
# go to the Admin Console
# go to the {nav Logs & Reports > Session Log} section
# confirm, that:
* session log record of the current session is shown in the grid
* the IPv6 address of that record is shortened based on the available column width
# resize the column with in IP address so that "..." is no longer displayed
# confirm, that shown IP address matches IPv6 address from the `/core/kernel/startup.php` file
# Part 6 - adding user
# login to the Admin Console
# go to the {nav User Management > Users} section
# show the `IP Address` column in the grid
# add a new user
# confirm, that:
* user was created
* just added user is shown in the grid
* the IPv6 address of that record is shortened based on the available column width
# resize the column with in IP address so that "..." is no longer displayed
# confirm, that shown IP address matches IPv6 address from the `/core/kernel/startup.php` file
# open just added user for editing
# confirm, that IP address of just added user matches IPv6 address from the `/core/kernel/startup.php` file
# Part 7 - phrases
# login to the Admin Console
# go to the {nav Website & Content > Labels & Phrases} section
# change translation of any phrase (remember it's label)
# confirm, that changes were saved to the database
# go to database editor (e.g. phpMyAdmin)
# confirm, that value of the `LanguageLabels.LastChangeIP` column for changed phrase matches IPv6 address from the `/core/kernel/startup.php` file
# Part 8 - system log
# login to the Admin Console
# make sure, that Debug Mode is enabled
# go to the {nav User Management > Users} section
# open the new user creation popup
# press the `Save` button without filling-in any of the required fields
# confirm, that you'll see a validation error
# close the new user creation popup
# go to the {nav Logs & Reports > System Log} section
# confirm, that:
* record about a validation error is shown in the grid
* the IPv6 address of that record is shortened based on the available column width
# resize the column with in IP address so that "..." is no longer displayed
# confirm, that shown IP address matches IPv6 address from the `/core/kernel/startup.php` file
# open that record for viewing
# confirm, that IP address of that record IPv6 address from the `/core/kernel/startup.php` file
# Part 9 - catalog ratings, reviews & spam control
# login to the Admin Console
# go to the {nav Website & Content > Structure & Data > Directory} section (you should be on the `Sections` tab)
# create a `Sub Directory` subsection
# go to the {nav Website & Content > Structure & Data > Directory > Sub Directory} section (you should be on the `Links` tab)
# create a new link in the `Active` status
# login to the Front-End
# navigate to the created link detail page
# rate that link (adds rating)
# comment on that link (adds review)
# go to database editor (e.g. phpMyAdmin)
# confirm, that value of the `CatalogRatings.IPAddress` column for added rating matches IPv6 address from the `/core/kernel/startup.php` file
# confirm, that value of the `SpamControl.IPaddress` column for added rating matches IPv6 address from the `/core/kernel/startup.php` file
# confirm, that value of the `CatalogReviews.IPAddress` column for added comment matches IPv6 address from the `/core/kernel/startup.php` file
# confirm, that value of the `SpamControl.IPaddress` column for added comment matches IPv6 address from the `/core/kernel/startup.php` file
# Part 10 - user visits (require In-Commerce)
# login to the Admin Console
# go to the {nav Configuration > Website > Advanced} section
# enable the `Use Visitor Tracking` system setting and save changes
# go to the Front-Eend
# logout (if you're logged-in)
# login
# go to the Admin Console
# go to the {nav Configuration > Website > Modules} section
# disable the `In-Commerce` module
# go to the {nav Logs & Reports > Visitor Log} section
# confirm, that:
* at least 2 records are present (one for Guest user and one for user you've used to login on the Front-End)
* the IPv6 addresses of these record are shortened based on the available column width
# resize the column with in IP address so that "..." is no longer displayed
# confirm, that shown IP addresses matches IPv6 address from the `/core/kernel/startup.php` file
# go to the {nav Configuration > Website > Modules} section
# enable the `In-Commerce` module
# go to the {nav Logs & Reports > Visitor Log} section
# confirm, that:
* at least 2 records are present (one for Guest user and one for user you've used to login on the Front-End)
* the IPv6 addresses of these record are shortened based on the available column width
# resize the column with in IP address so that "..." is no longer displayed
# confirm, that shown IP addresses matches IPv6 address from the `/core/kernel/startup.php` file
# Part 11 - polls (require In-Bulletin)
NOTE: Apply the D527 before testing this.
# login to the Admin Console
# go to the {nav Website & Content > Polls} section
# create a poll with 2 answers
# go to the Front-End
# go the the page for the `Forums` section (category)
# click on the `Add Comment` link below the above-created poll
# add a comment
# go to database editor (e.g. phpMyAdmin)
# confirm, that:
# a record in the `PollsComments` table was created for your poll comment
# value of the `PollsComments.UserIP` column for your poll comment matches IPv6 address from the `/core/kernel/startup.php` file
# close the modal window
# vote on any of the poll answers
# go to database editor (e.g. phpMyAdmin)
# confirm, that:
# a record in the `PollsStatistics` table was created for your poll vote
# value of the `PollsStatistics.UserIP` column for your poll vote matches IPv6 address from the `/core/kernel/startup.php` file
# Part 12 - topic posts (require In-Bulletin)
# login to the Admin Console
# go to the {nav Website & Content > Structure & Data > Forums} section (you should be on the `Topics` tab)
# switch to the `Sections` tab
# create a new section
# login to the Front-End
# go to the above-created category
# use the `New Topic` link in the sidebar to create a new topic
# go to database editor (e.g. phpMyAdmin)
# confirm, that:
# the record for just created post (creating a topic also created a first post in it) exists
# value of the `Posting.IPAddress` column for your post matches IPv6 address from the `/core/kernel/startup.php` file
# Part 13 - misc
* login to the Admin Console
# go to the {nav Configuration > Website > Site Domains} section
# click on the `Add` toolbar button
# scroll down to the `Range of IPs` field
# confirm, that `Range of IPs` field tooltip contains examples with IPv4 and IPv6 addresses
* in the IDE:
# open the `/core/kernel/utility/temp_handler.php` file
# add the `die('testing');` to the beginning of the `kTempTablesHandler::DoCopyTempToOriginal` method
# save changes
* in the Admin Console
# fill in required fields to create a site domain
# click on the `Save` toolbar button
# confirm, that you're seeing `testing` text and a modal/popup window wasn't closed
# go to database editor (e.g. phpMyAdmin)
# confirm, that:
# the record for just to-be-created site domain exists in the `Semaphores` table
# value of the `Semaphores.IpAddress` column for the above-created record matches IPv6 address from the `/core/kernel/startup.php` file
# revert changes made to the `/core/kernel/utility/temp_handler.php` file
# Part 14 - downlodable product & orders (require In-Commerce)
# login to the Admin Console
# go to the {nav Website & Content > Structure & Data > Products} section (you should be on the `Products` tab)
# switch to the `Sections` tab
# add a `Sub Products` section (category)
# go to the {nav Website & Content > Structure & Data > Products > Sub Products} section (you should be on the `Products` tab)
# create a downloadable product in Active status with 1 file in it
# login to the Front-End
# go to the `Products > Sub Products` category and buy above-created product
# go to the Admin Console
# go to the {anv E-commerce > Orders} section (you should be on the `Pending` tab)
# open just submitted sales order for editing
# confirm, that on the General tab:
* you're seeing an IP address
* shown IP address matches IPv6 address from the `/core/kernel/startup.php` file
# close sales order editing modal/popup window
# select just submitted sales order
# click on the `Approve` toolbar button
# confirm, that the sales order is longer shown in the Pending orders grid
# go to the Front-End
# click on the `My Downloads` link in the side bar
# click the `Download Now` toolbar button
# go to the Admin Console
# go to the {anv Logs & Reports > Download Log} section
# confirm, that:
* record for just downloaded file exists
* the IPv6 addresses of that record is shortened based on the available column width
# resize the column with in IP address so that "..." is no longer displayed
# confirm, that shown IP address matches IPv6 address from the `/core/kernel/startup.php` file# ensure that the IPv4 address you're using to access an In-Portal or a subnet it (IPv4 address) belongs to is listed in the `$dbg_options['DBG_IP']` key of the `/system/debug.php` file
# open the website
# confirm that Debug Mode is enabled
# add `$_SERVER['REMOTE_ADDR'] = '971a:6ff4:3fe8:ce27:7085:f498:fc5a:9895';` line at the beginning of the `/core/kernel/startup.php` file and save changes
# open the website
# confirm that Debug Mode is disabled
# replace the value of the `$dbg_options['DBG_IP']` key (make a backup) in the `/system/debug.php` file into `971a:6ff4:3fe8:ce27:7085:f498:fc5a:9893` and save changes
# confirm that Debug Mode is disabled
# replace the value of the `$dbg_options['DBG_IP']` key in the `/system/debug.php` file into `971a:6ff4:3fe8:ce27:7085:f498:fc5a:9893-971a:6ff4:3fe8:ce27:7085:f498:fc5a:9895` and save changes
# confirm that Debug Mode is enabled
# replace the value of the `$dbg_options['DBG_IP']` key in the `/system/debug.php` file into `971a:6ff4:3fe8:ce27:7085:f498:fc5a:9893/64` and save changes
# confirm that Debug Mode is enabled
# replace the value of the `$dbg_options['DBG_IP']` key in the `/system/debug.php` file into `971a:6ff4:3fe8:ce27:7085:f498:fc5a:9895` and save changes
# confirm that Debug Mode is enabled
# Part 4 - form submissions
# login to the Admin Console
# go to the {nav Website & Content > Forms} section
# create a form with any configuration (if you don't have any form already)
# go to the {nav Website & Content > Structure & Data} section
# create a section (category) with these properties (the `any value` means any value you want):
* Section Title: any value
* Parent Section: any value
* Template: "Online Form :: /platform/designs/form"
* Online Form: any non-empty value
# go to the Front-End
# open the above-created page
# submit the form (it's fine that you're stayed on the same page)
# go to the Admin Console
# go to the {nav Website & Content > Forms > your form name} section
# confirm, that:
* just made form submission is shown in the grid
* the IPv6 address of that record is shortened based on the available column width
# resize the column with an IP address so that "..." is no longer displayed
# confirm that the shown IP address matches IPv6 address from the `/core/kernel/startup.php` file
# open just made form submission for viewing
# confirm that the IP address of just made form submission matches IPv6 address from the `/core/kernel/startup.php` file
# Part 5 - session
# login to the Admin Console
# go to the {nav Configuration > Website > Advanced} section
# enable the `Track database changes to change log` system setting and save changes
# logout
# login
# go to the database editor (e.g. phpMyAdmin)
# confirm that the value of the `UserSessions.IpAddress` column for your session matches IPv6 address from the `/core/kernel/startup.php` file
# go to the Admin Console
# go to the {nav Logs & Reports > Session Log} section
# confirm, that:
* session log record of the current session is shown in the grid
* the IPv6 address of that record is shortened based on the available column width
# resize the column with an IP address so that "..." is no longer displayed
# confirm that the shown IP address matches IPv6 address from the `/core/kernel/startup.php` file
# Part 6 - adding user
# login to the Admin Console
# go to the {nav User Management > Users} section
# show the `IP Address` column in the grid
# add a new user
# confirm, that:
* user was created
* just added user is shown in the grid
* the IPv6 address of that record is shortened based on the available column width
# resize the column with an IP address so that "..." is no longer displayed
# confirm that the shown IP address matches IPv6 address from the `/core/kernel/startup.php` file
# open just added user for editing
# confirm that IP address of just added user matches IPv6 address from the `/core/kernel/startup.php` file
# Part 7 - phrases
# login to the Admin Console
# go to the {nav Website & Content > Labels & Phrases} section
# change translation of any phrase (remember its label)
# confirm that changes were saved to the database
# go to the database editor (e.g. phpMyAdmin)
# confirm that the value of the `LanguageLabels.LastChangeIP` column for the changed phrase matches IPv6 address from the `/core/kernel/startup.php` file
# Part 8 - system log
# login to the Admin Console
# make sure, that Debug Mode is enabled
# go to the {nav User Management > Users} section
# open the new user creation popup
# press the `Save` button without filling-in any of the required fields
# confirm, that you'll see a validation error
# close the new user creation popup
# go to the {nav Logs & Reports > System Log} section
# confirm, that:
* a record about a validation error is shown in the grid
* the IPv6 address of that record is shortened based on the available column width
# resize the column with an IP address so that "..." is no longer displayed
# confirm that the shown IP address matches IPv6 address from the `/core/kernel/startup.php` file
# open that record for viewing
# confirm, that IP address of that record IPv6 address from the `/core/kernel/startup.php` file
# Part 9 - catalog ratings, reviews & spam control
# login to the Admin Console
# go to the {nav Website & Content > Structure & Data > Directory} section (you should be on the `Sections` tab)
# create a `Sub Directory` subsection
# go to the {nav Website & Content > Structure & Data > Directory > Sub Directory} section (you should be on the `Links` tab)
# create a new link in the `Active` status
# login to the Front-End
# navigate to the created link detail page
# rate that link (adds rating)
# comment on that link (adds review)
# go to the database editor (e.g. phpMyAdmin)
# confirm that the value of the `CatalogRatings.IPAddress` column for added rating matches IPv6 address from the `/core/kernel/startup.php` file
# confirm that the value of the `SpamControl.IPaddress` column for added rating matches IPv6 address from the `/core/kernel/startup.php` file
# confirm that the value of the `CatalogReviews.IPAddress` column for added comment matches IPv6 address from the `/core/kernel/startup.php` file
# confirm that the value of the `SpamControl.IPaddress` column for added comment matches IPv6 address from the `/core/kernel/startup.php` file
# Part 10 - user visits (require In-Commerce)
# login to the Admin Console
# go to the {nav Configuration > Website > Advanced} section
# enable the `Use Visitor Tracking` system setting and save changes
# go to the Front-End
# logout (if you're logged in)
# login
# go to the Admin Console
# go to the {nav Configuration > Website > Modules} section
# disable the `In-Commerce` module
# go to the {nav Logs & Reports > Visitor Log} section
# confirm, that:
* at least 2 records are present (one for Guest user and one for user you've used to login on the Front-End)
* the IPv6 addresses of these records are shortened based on the available column width
# resize the column with an IP address so that "..." is no longer displayed
# confirm that shown IP addresses matches IPv6 address from the `/core/kernel/startup.php` file
# go to the {nav Configuration > Website > Modules} section
# enable the `In-Commerce` module
# go to the {nav Logs & Reports > Visitor Log} section
# confirm, that:
* at least 2 records are present (one for the Guest user and one for the user you've used to log in on the Front-End)
* the IPv6 addresses of these records are shortened based on the available column width
# resize the column with an IP address so that "..." is no longer displayed
# confirm that shown IP addresses matches IPv6 address from the `/core/kernel/startup.php` file
# Part 11 - polls (require In-Bulletin)
NOTE: Apply the D527 before testing this.
# login to the Admin Console
# go to the {nav Website & Content > Polls} section
# create a poll with 2 answers
# go to the Front-End
# go to the page for the `Forums` section (category)
# click on the `Add Comment` link below the above-created poll
# add a comment
# go to the database editor (e.g. phpMyAdmin)
# confirm, that:
# a record in the `PollsComments` table was created for your poll comment
# the value of the `PollsComments.UserIP` column for your poll comment matches IPv6 address from the `/core/kernel/startup.php` file
# close the modal window
# vote on any of the poll answers
# go to the database editor (e.g. phpMyAdmin)
# confirm, that:
# a record in the `PollsStatistics` table was created for your poll vote
# the value of the `PollsStatistics.UserIP` column for your poll vote matches IPv6 address from the `/core/kernel/startup.php` file
# Part 12 - topic posts (require In-Bulletin)
# login to the Admin Console
# go to the {nav Website & Content > Structure & Data > Forums} section (you should be on the `Topics` tab)
# switch to the `Sections` tab
# create a new section
# login to the Front-End
# go to the above-created category
# use the `New Topic` link in the sidebar to create a new topic
# go to the database editor (e.g. phpMyAdmin)
# confirm, that:
# the record for just created post (creating a topic also created a first post in it) exists
# the value of the `Posting.IPAddress` column for your post matches IPv6 address from the `/core/kernel/startup.php` file
# Part 13 - misc
* login to the Admin Console
# go to the {nav Configuration > Website > Site Domains} section
# click on the `Add` toolbar button
# scroll down to the `Range of IPs` field
# confirm, that `Range of IPs` field tooltip contains examples with IPv4 and IPv6 addresses
* in the IDE:
# open the `/core/kernel/utility/temp_handler.php` file
# add the `die('testing');` to the beginning of the `kTempTablesHandler::DoCopyTempToOriginal` method
# save changes
* in the Admin Console
# fill in required fields to create a site domain
# click on the `Save` toolbar button
# confirm that you're seeing `testing` text and a modal/popup window wasn't closed
# go to the database editor (e.g. phpMyAdmin)
# confirm, that:
# the record for just to-be-created site domain exists in the `Semaphores` table
# the value of the `Semaphores.IpAddress` column for the above-created record matches IPv6 address from the `/core/kernel/startup.php` file
# revert changes made to the `/core/kernel/utility/temp_handler.php` file
# Part 14 - downlodable product & orders (require In-Commerce)
# login to the Admin Console
# go to the {nav Website & Content > Structure & Data > Products} section (you should be on the `Products` tab)
# switch to the `Sections` tab
# add a `Sub Products` section (category)
# go to the {nav Website & Content > Structure & Data > Products > Sub Products} section (you should be on the `Products` tab)
# create a downloadable product in Active status with 1 file in it
# login to the Front-End
# go to the `Products > Sub Products` category and buy the above-created product
# go to the Admin Console
# go to the {anv E-commerce > Orders} section (you should be on the `Pending` tab)
# open just submitted sales order for editing
# confirm, that on the General tab:
* you're seeing an IP address
* the shown IP address matches IPv6 address from the `/core/kernel/startup.php` file
# close sales order editing modal/popup window
# select just submitted sales order
# click on the `Approve` toolbar button
# confirm that the sales order is longer shown in the Pending orders grid
# go to the Front-End
# click on the `My Downloads` link in the side bar
# click the `Download Now` toolbar button
# go to the Admin Console
# go to the {anv Logs & Reports > Download Log} section
# confirm, that:
* a record for a just downloaded file exists
* the IPv6 address of that record is shortened based on the available column width
# resize the column with an IP address so that "..." is no longer displayed
# confirm that the shown IP address matches IPv6 address from the `/core/kernel/startup.php` file