RecordActionsTest
extends MinkTestCase
in package
Uses
AutocompleteTrait, LiveDatabaseTrait, SearchSortTrait, UserCreationTrait
Mink record actions test class.
Class must be final due to use of "new static()" by LiveDatabaseTrait.
Tags
Table of Contents
- DEFAULT_TIMEOUT = 5000
- $hasLiveDatabaseTrait : bool
- Flag to allow other traits to test for the presence of this one (to enforce dependencies).
- $hasLiveDetectionTrait : bool
- Flag to allow other traits to test for the presence of this one (to enforce dependencies).
- $activeRecordTabSelector : string
- Selector for active record tab
- $btnGroupDropdownMenuSelector : string
- Selector for an open button group dropdown menu
- $defaultSortOptions : array<string|int, string>
- VuFind default sort options
- $firstOpenDropdownMenuItemSelector : string
- Selector for first item in a dropdown menu
- $liveDatabaseContainer : MockContainer|null
- Container connected to live database.
- $modifiedConfigs : array<string|int, mixed>
- Modified configurations
- $modifiedYamlConfigs : array<string|int, mixed>
- Modified yaml configurations
- $openModalButtonLinkSelector : string
- Selector for a button link in an open modal dialog
- $openModalSelector : string
- Selector for an open modal dialog
- $openModalUsernameFieldSelector : string
- Selector for a username field in open modal dialog
- $pageNextSelector : string
- Selector for next page link
- $pagePrevSelector : string
- Selector for previous page link
- $pathResolver : PathResolver
- Configuration file path resolver
- $popoverContentSelector : string
- Selector for popover content
- $session : Session
- Mink session
- $sortControlSelector : string
- Selector for sort control
- continuousIntegrationRunning() : bool
- Is this test running in a continuous integration context?
- getAndAssertFirstAutocompleteValue() : NodeElement
- Get an autocomplete item, and assert its value.
- getDbService() : DbServiceInterface
- Get a database service.
- getFavoritesService() : FavoritesService
- Get the favorites service.
- getLiveDatabaseContainer() : MockContainer
- Get a real, working table manager.
- getLiveDbServiceManager() : PluginManager
- Get a real, working database service manager.
- getLiveTableManager() : PluginManager
- Get a real, working table manager.
- getRemoteCoverageDirectory() : string|null
- Get the remote coverage directory (or return null if remote coverage disabled)
- getTable() : Gateway
- Get a table object.
- getTagSearchSortData() : array<string|int, mixed>
- Data provider for testTagSearchSort
- getTestRatingData() : array<string|int, mixed>
- Data provider for testRating
- setUp() : void
- Standard setup method.
- setUpBeforeClass() : void
- Standard setup method.
- tearDown() : void
- Standard teardown method.
- tearDownAfterClass() : void
- Standard teardown method.
- testAddComment() : void
- Test adding comments on records.
- testAddCommentWithCaptcha() : void
- Test adding comments on records (with Captcha enabled).
- testAddSensitiveTag() : void
- Test adding case sensitive tags on records.
- testAddTag() : void
- Test adding tags on records.
- testEmail() : void
- Test record view email.
- testPrint() : void
- Test record view print button.
- testRating() : void
- Test star ratings on records.
- testRatingDisabled() : void
- Test rating disabled.
- testRefWorksExportButton() : void
- Test export button found in toolbar
- testSMS() : void
- Test record view SMS.
- testTagAdminHome() : void
- Test that the tag admin module works.
- testTagAdminList() : void
- Test that listing tags in Admin works.
- testTagAdminManage() : void
- Test that managing tags in Admin works.
- testTagAutocomplete() : void
- Test that default autocomplete behavior is correct on a non-default search handler.
- testTagSearch() : void
- Test searching for one of the tags created above.
- testTagSearchSort() : void
- Test sorting the tag search results.
- addPathResolverToContainer() : void
- Add PathResolverFactory to a mock container
- addTagsToRecord() : void
- Add tags to a record
- assertAutocompleteValueAndReturnItem() : NodeElement
- For the provided search, assert the first autocomplete value and return the associated page element.
- assertEqualsWithTimeout() : void
- Wait for a callback to return the expected value
- assertLightboxTitle() : void
- Verify that lightbox title contains the expected value
- assertLightboxWarning() : void
- Mink support function: assert a warning message in the lightbox.
- assertResultTitles() : void
- Check that first and last record of the results are correct
- assertSelectedSort() : void
- Assert the selected sort option.
- assertStringContainsStringWithTimeout() : void
- Wait for a callback to return a string containing the expected value
- assertWithTimeout() : void
- Wait for a callback to return the expected value
- changeConfigFile() : void
- Support method for changeConfig; act on a single file.
- changeConfigs() : void
- Reconfigure VuFind for the current test.
- changeYamlConfigFile() : void
- Support method for changeYamlConfig; act on a single file.
- changeYamlConfigs() : void
- Reconfigure VuFind for the current test.
- checkVisibility() : bool
- Test an element for visibility.
- clickCss() : mixed
- Click on a CSS element.
- closeLightbox() : void
- Verify that lightbox title contains the expected value
- failIfDataExists() : void
- Static setup support function to fail if there is already data in the database. We want to ensure a clean state for each test!
- fillInAccountForm() : void
- Mink support function: fill in the account creation form.
- fillInChangePasswordForm() : void
- Mink support function: fill in the change password form.
- fillInLoginForm() : void
- Mink support function: fill in the login form.
- findAndAssertLink() : mixed
- Retrieve a link and assert that it exists before returning it.
- findCss() : mixed
- Wait for an element to exist, then retrieve it.
- findCssAndCallMethod() : string
- Return value of a method of an element selected via CSS; retry if it fails due to DOM change.
- findCssAndGetHtml() : string
- Get text of an element selected via CSS; retry if it fails due to DOM change.
- findCssAndGetText() : string
- Get text of an element selected via CSS; retry if it fails due to DOM change.
- findCssAndGetValue() : string
- Get value of an element selected via CSS; retry if it fails due to DOM change.
- findCssAndSetValue() : mixed
- Set a value within an element selected via CSS; retry if set fails due to browser bugs.
- getCurrentQueryString() : string
- Get query string for the current page
- getCurrentUrlWithoutSid() : string
- Get current URL without any sid parameter in the query string
- getDefaultTimeout() : int
- Get the default timeout in milliseconds
- getFirstMethodAttributeValue() : mixed
- Extract the first parameter of the first attribute matching the specified criteria.
- getMinkDriver() : Selenium2Driver
- Get the Mink driver, initializing it if necessary.
- getMinkSession() : Session
- Get a Mink session.
- getPathResolver() : PathResolver
- Get a config file path resolver
- getSearchHomePage() : Element
- Load the Search/Home page as a foundation for searching.
- getSnoozeMultiplier() : float
- Get the snooze multiplier.
- getTestName() : string
- Get name of the current test
- getVuFindUrl() : string
- Get base URL of running VuFind instance.
- gotoRecord() : Element
- Move the current page to a record by performing a search.
- goToTagAdmin() : Element
- Set up and access the Tag Admin page.
- hasElementsMatchingText() : bool
- Check whether an element containing the specified text exists.
- htmlValidationMsgToStr() : string
- Convert a NU HTML Validator message to a string
- logWarning() : void
- Log a warning message
- makeAccount() : void
- Make new account
- outputHtmlValidationMessages() : void
- Output HTML validation messages to log file and/or console
- performSearch() : Element
- Search for the specified query.
- removeUsername2And3And4() : void
- Retry cleanup method in case of failure during testRating.
- removeUsers() : void
- Static teardown support function to destroy user accounts. Accounts are expected to exist, and the method will fail if they are missing.
- restoreConfigs() : void
- Restore configurations to the state they were in prior to a call to changeConfig().
- snooze() : void
- Sleep if necessary.
- sortResults() : void
- Change sort order of search results
- stopMinkSession() : void
- Shut down the Mink session.
- submitLoginForm() : void
- Submit the login form (assuming it's open).
- submitSearchForm() : void
- Submit a search on the provided page.
- unFindCss() : void
- Wait for an element to NOT exist.
- validateHtml() : void
- Validate current page HTML if validation is enabled and a session exists
- waitForLightboxHidden() : void
- Wait for Lightbox to become hidden if it isn't already.
- waitForPageLoad() : void
- Wait for page load (full page or any element) to complete
- waitStatement() : mixed
- Wait for a JavaScript statement to result in true.
Constants
DEFAULT_TIMEOUT
public
mixed
DEFAULT_TIMEOUT
= 5000
Properties
$hasLiveDatabaseTrait
Flag to allow other traits to test for the presence of this one (to enforce dependencies).
public
bool
$hasLiveDatabaseTrait
= true
$hasLiveDetectionTrait
Flag to allow other traits to test for the presence of this one (to enforce dependencies).
public
bool
$hasLiveDetectionTrait
= true
$activeRecordTabSelector
Selector for active record tab
protected
string
$activeRecordTabSelector
= 'li.record-tab.active, li.record-tab a.active'
First for Bootstrap 3, second for Bootstrap 5
$btnGroupDropdownMenuSelector
Selector for an open button group dropdown menu
protected
string
$btnGroupDropdownMenuSelector
= '.btn-group.open .dropdown-menu, .btn-group .dropdown-menu.show'
First for Bootstrap 3, second for Bootstrap 5
$defaultSortOptions
VuFind default sort options
protected
array<string|int, string>
$defaultSortOptions
= ['Relevance', 'Date Descending', 'Date Ascending', 'Call Number', 'Author']
$firstOpenDropdownMenuItemSelector
Selector for first item in a dropdown menu
protected
string
$firstOpenDropdownMenuItemSelector
= '.mainbody .open .dropdown-menu li:nth-child(2) a, .mainbody .dropdown-menu.show li:nth-child(2) a'
First for Bootstrap 3, second for Bootstrap 5
$liveDatabaseContainer
Container connected to live database.
protected
MockContainer|null
$liveDatabaseContainer
= null
$modifiedConfigs
Modified configurations
protected
array<string|int, mixed>
$modifiedConfigs
= []
$modifiedYamlConfigs
Modified yaml configurations
protected
array<string|int, mixed>
$modifiedYamlConfigs
= []
$openModalButtonLinkSelector
Selector for a button link in an open modal dialog
protected
string
$openModalButtonLinkSelector
= '#modal.in a.btn, #modal.show a.btn'
First for Bootstrap 3, second for Bootstrap 5
$openModalSelector
Selector for an open modal dialog
protected
string
$openModalSelector
= '#modal.in, #modal.show'
First for Bootstrap 3, second for Bootstrap 5
$openModalUsernameFieldSelector
Selector for a username field in open modal dialog
protected
string
$openModalUsernameFieldSelector
= '#modal.in [name="username"], #modal.show [name="username"]'
First for Bootstrap 3, second for Bootstrap 5
$pageNextSelector
Selector for next page link
protected
string
$pageNextSelector
= 'a.page-next, .page-next a'
First for Bootstrap 3, second for Bootstrap 5
$pagePrevSelector
Selector for previous page link
protected
string
$pagePrevSelector
= 'a.page-prev, .page-prev a'
First for Bootstrap 3, second for Bootstrap 5
$pathResolver
Configuration file path resolver
protected
PathResolver
$pathResolver
$popoverContentSelector
Selector for popover content
protected
string
$popoverContentSelector
= '.popover-body, .popover-content'
First for Bootstrap 3, second for Bootstrap 5
$session
Mink session
protected
Session
$session
$sortControlSelector
Selector for sort control
protected
string
$sortControlSelector
= '#sort_options_1'
Methods
continuousIntegrationRunning()
Is this test running in a continuous integration context?
public
continuousIntegrationRunning() : bool
Return values
bool —getAndAssertFirstAutocompleteValue()
Get an autocomplete item, and assert its value.
public
getAndAssertFirstAutocompleteValue(Element $page, string $text) : NodeElement
Parameters
- $page : Element
-
Page element
- $text : string
-
Expected text
Return values
NodeElement —getDbService()
Get a database service.
public
getDbService(string $service) : DbServiceInterface
Parameters
- $service : string
-
Name of service to load
Return values
DbServiceInterface —getFavoritesService()
Get the favorites service.
public
getFavoritesService() : FavoritesService
Return values
FavoritesService —getLiveDatabaseContainer()
Get a real, working table manager.
public
getLiveDatabaseContainer() : MockContainer
Return values
MockContainer —getLiveDbServiceManager()
Get a real, working database service manager.
public
getLiveDbServiceManager() : PluginManager
Return values
PluginManager —getLiveTableManager()
Get a real, working table manager.
public
getLiveTableManager() : PluginManager
Return values
PluginManager —getRemoteCoverageDirectory()
Get the remote coverage directory (or return null if remote coverage disabled)
public
getRemoteCoverageDirectory() : string|null
Return values
string|null —getTable()
Get a table object.
public
getTable(string $table) : Gateway
Parameters
- $table : string
-
Name of table to load
Return values
Gateway —getTagSearchSortData()
Data provider for testTagSearchSort
public
static getTagSearchSortData() : array<string|int, mixed>
Return values
array<string|int, mixed> —getTestRatingData()
Data provider for testRating
public
static getTestRatingData() : array<string|int, mixed>
Return values
array<string|int, mixed> —setUp()
Standard setup method.
public
setUp() : void
Return values
void —setUpBeforeClass()
Standard setup method.
public
static setUpBeforeClass() : void
Return values
void —tearDown()
Standard teardown method.
public
tearDown() : void
Return values
void —tearDownAfterClass()
Standard teardown method.
public
static tearDownAfterClass() : void
Return values
void —testAddComment()
Test adding comments on records.
public
testAddComment() : void
Return values
void —testAddCommentWithCaptcha()
Test adding comments on records (with Captcha enabled).
public
testAddCommentWithCaptcha() : void
Tags
Return values
void —testAddSensitiveTag()
Test adding case sensitive tags on records.
public
testAddSensitiveTag() : void
Tags
Return values
void —testAddTag()
Test adding tags on records.
public
testAddTag() : void
Tags
Return values
void —testEmail()
Test record view email.
public
testEmail() : void
Return values
void —testPrint()
Test record view print button.
public
testPrint() : void
Return values
void —testRating()
Test star ratings on records.
public
testRating(bool $allowRemove) : void
Parameters
- $allowRemove : bool
-
Value for remove_rating config
Tags
Return values
void —testRatingDisabled()
Test rating disabled.
public
testRatingDisabled() : void
Return values
void —testRefWorksExportButton()
Test export button found in toolbar
public
testRefWorksExportButton() : void
Return values
void —testSMS()
Test record view SMS.
public
testSMS() : void
Return values
void —testTagAdminHome()
Test that the tag admin module works.
public
testTagAdminHome() : void
Tags
Return values
void —testTagAdminList()
Test that listing tags in Admin works.
public
testTagAdminList() : void
Tags
Return values
void —testTagAdminManage()
Test that managing tags in Admin works.
public
testTagAdminManage() : void
Tags
Return values
void —testTagAutocomplete()
Test that default autocomplete behavior is correct on a non-default search handler.
public
testTagAutocomplete() : void
Tags
Return values
void —testTagSearch()
Test searching for one of the tags created above.
public
testTagSearch() : void
Tags
Return values
void —testTagSearchSort()
Test sorting the tag search results.
public
testTagSearchSort(int $index, string $expectedSort, string $expectedFirst, string $expectedLast) : void
Parameters
- $index : int
-
Sort drop-down index to test
- $expectedSort : string
-
Expected sort value at $index
- $expectedFirst : string
-
Expected first title after sorting
- $expectedLast : string
-
Expected last title after sorting
Tags
Return values
void —addPathResolverToContainer()
Add PathResolverFactory to a mock container
protected
addPathResolverToContainer(MockContainer $container) : void
Parameters
- $container : MockContainer
-
Mock Container
Return values
void —addTagsToRecord()
Add tags to a record
protected
addTagsToRecord(Element $page, string $tags[, string|null $user = null ][, string|null $pass = null ]) : void
Parameters
- $page : Element
-
Page object
- $tags : string
-
Tag(s) to add
- $user : string|null = null
-
Username to log in with (null if already logged in)
- $pass : string|null = null
-
Password to log in with (null if already logged in)
Return values
void —assertAutocompleteValueAndReturnItem()
For the provided search, assert the first autocomplete value and return the associated page element.
protected
assertAutocompleteValueAndReturnItem(Element $page, string $search, string $expected[, string|null $type = null ]) : NodeElement
Parameters
- $page : Element
-
Page to use for searching
- $search : string
-
Search term(s)
- $expected : string
-
First expected Autocomplete suggestion
- $type : string|null = null
-
Search type (null for default)
Return values
NodeElement —assertEqualsWithTimeout()
Wait for a callback to return the expected value
protected
assertEqualsWithTimeout(mixed $expected, callable $callback[, int $timeout = null ]) : void
Parameters
- $expected : mixed
-
Expected value
- $callback : callable
-
Callback
- $timeout : int = null
-
Wait timeout (in ms)
Return values
void —assertLightboxTitle()
Verify that lightbox title contains the expected value
protected
assertLightboxTitle(Element $page, string $title) : void
Parameters
- $page : Element
-
Page element
- $title : string
-
Expected title
Return values
void —assertLightboxWarning()
Mink support function: assert a warning message in the lightbox.
protected
assertLightboxWarning(Element $page, string $message) : void
Parameters
- $page : Element
-
Page element
- $message : string
-
Expected message
Return values
void —assertResultTitles()
Check that first and last record of the results are correct
protected
assertResultTitles(Element $page, int $count, string $first, string $last) : void
Parameters
- $page : Element
-
Current page
- $count : int
-
Expected total result count
- $first : string
-
Expected first title
- $last : string
-
Expected last title
Return values
void —assertSelectedSort()
Assert the selected sort option.
protected
assertSelectedSort(Element $page, string $active) : void
Parameters
- $page : Element
-
Current page
- $active : string
-
Selected sort option
Return values
void —assertStringContainsStringWithTimeout()
Wait for a callback to return a string containing the expected value
protected
assertStringContainsStringWithTimeout(string $expected, callable $callback[, int $timeout = null ]) : void
Parameters
- $expected : string
-
Expected value
- $callback : callable
-
Callback
- $timeout : int = null
-
Wait timeout (in ms)
Return values
void —assertWithTimeout()
Wait for a callback to return the expected value
protected
assertWithTimeout(mixed $expected, callable $callback, callable $compareFunc, callable $assertion[, int $timeout = null ]) : void
Parameters
- $expected : mixed
-
Expected value
- $callback : callable
-
Callback used to get the results
- $compareFunc : callable
-
Callback used to compare the results
- $assertion : callable
-
Assertion to make
- $timeout : int = null
-
Wait timeout (in ms)
Return values
void —changeConfigFile()
Support method for changeConfig; act on a single file.
protected
changeConfigFile(string $configName, array<string|int, mixed> $settings[, bool $replace = false ]) : void
Parameters
- $configName : string
-
Configuration to modify.
- $settings : array<string|int, mixed>
-
Settings to change.
- $replace : bool = false
-
Should we replace the existing config entirely (as opposed to extending it with new settings)?
Return values
void —changeConfigs()
Reconfigure VuFind for the current test.
protected
changeConfigs(array<string|int, mixed> $configs[, array<string|int, mixed> $replace = [] ]) : void
Parameters
- $configs : array<string|int, mixed>
-
Array of settings to change. Top-level keys correspond with config filenames (i.e. use 'config' for config.ini, etc.); within each file's array, top-level key is config section. Within each section's array are key-value configuration pairs.
- $replace : array<string|int, mixed> = []
-
Array of config files to completely override (as opposed to modifying); if a config file from $configs is included in this array, the $configs setting will be used as the entire configuration, and the defaults from the config/vufind directory will be ignored.
Return values
void —changeYamlConfigFile()
Support method for changeYamlConfig; act on a single file.
protected
changeYamlConfigFile(string $configName, array<string|int, mixed> $settings[, bool $replace = false ]) : void
Parameters
- $configName : string
-
Configuration to modify.
- $settings : array<string|int, mixed>
-
Settings to change.
- $replace : bool = false
-
Should we replace the existing config entirely (as opposed to extending it with new settings)?
Return values
void —changeYamlConfigs()
Reconfigure VuFind for the current test.
protected
changeYamlConfigs(array<string|int, mixed> $configs[, array<string|int, mixed> $replace = [] ]) : void
Parameters
- $configs : array<string|int, mixed>
-
Array of settings to change. Top-level keys correspond with yaml config filenames (i.e. use 'searchspecs' for searchspecs.yaml, etc.);
- $replace : array<string|int, mixed> = []
-
Array of config files to completely override (as opposed to modifying); if a config file from $configs is included in this array, the $configs setting will be used as the entire configuration, and the defaults from the config/vufind directory will be ignored.
Return values
void —checkVisibility()
Test an element for visibility.
protected
checkVisibility(Element $element) : bool
Parameters
- $element : Element
-
Element to test
Return values
bool —clickCss()
Click on a CSS element.
protected
clickCss(Element $page, string $selector[, int $timeout = null ], int $index) : mixed
Parameters
- $page : Element
-
Page element
- $selector : string
-
CSS selector
- $timeout : int = null
-
Wait timeout (in ms)
- $index : int
-
Index of the element (0-based)
Return values
mixed —closeLightbox()
Verify that lightbox title contains the expected value
protected
closeLightbox(Element $page[, bool $closeButton = false ]) : void
Parameters
- $page : Element
-
Page element
- $closeButton : bool = false
-
Whether there should be a close button in the modal body
Return values
void —failIfDataExists()
Static setup support function to fail if there is already data in the database. We want to ensure a clean state for each test!
protected
static failIfDataExists([string|null $failMessage = null ]) : void
Parameters
- $failMessage : string|null = null
-
Failure message to display if data exists (null for default).
Return values
void —fillInAccountForm()
Mink support function: fill in the account creation form.
protected
fillInAccountForm(Element $page[, array<string|int, mixed> $overrides = [] ]) : void
Parameters
- $page : Element
-
Page element.
- $overrides : array<string|int, mixed> = []
-
Optional overrides for form values.
Return values
void —fillInChangePasswordForm()
Mink support function: fill in the change password form.
protected
fillInChangePasswordForm(Element $page, string $old, string $new[, bool $inModal = false ][, string $prefix = '#newpassword ' ]) : void
Parameters
- $page : Element
-
Page element.
- $old : string
-
Old password
- $new : string
-
New password
- $inModal : bool = false
-
Should we assume the login box is in a lightbox?
- $prefix : string = '#newpassword '
-
Extra selector prefix
Return values
void —fillInLoginForm()
Mink support function: fill in the login form.
protected
fillInLoginForm(Element $page, string $username, string $password[, bool $inModal = true ][, string $prefix = '' ]) : void
Parameters
- $page : Element
-
Page element.
- $username : string
-
Username to set (null to skip)
- $password : string
-
Password to set (null to skip)
- $inModal : bool = true
-
Should we assume the login box is in a lightbox?
- $prefix : string = ''
-
Extra selector prefix
Return values
void —findAndAssertLink()
Retrieve a link and assert that it exists before returning it.
protected
findAndAssertLink(Element $page, string $text) : mixed
Parameters
- $page : Element
-
Page element
- $text : string
-
Link text to match
Return values
mixed —findCss()
Wait for an element to exist, then retrieve it.
protected
findCss(Element $page, string $selector[, int $timeout = null ], int $index) : mixed
Parameters
- $page : Element
-
Page element
- $selector : string
-
CSS selector
- $timeout : int = null
-
Wait timeout (in ms)
- $index : int
-
Index of the element (0-based)
Return values
mixed —findCssAndCallMethod()
Return value of a method of an element selected via CSS; retry if it fails due to DOM change.
protected
findCssAndCallMethod(Element $page, string $selector, string $method[, int $timeout = null ], int $index[, int $retries = 6 ]) : string
Parameters
- $page : Element
-
Page element
- $selector : string
-
CSS selector
- $method : string
-
Method to call
- $timeout : int = null
-
Wait timeout for CSS selection (in ms)
- $index : int
-
Index of the element (0-based)
- $retries : int = 6
-
Retry count for set loop
Return values
string —findCssAndGetHtml()
Get text of an element selected via CSS; retry if it fails due to DOM change.
protected
findCssAndGetHtml(Element $page, string $selector[, int $timeout = null ], int $index[, int $retries = 6 ]) : string
Parameters
- $page : Element
-
Page element
- $selector : string
-
CSS selector
- $timeout : int = null
-
Wait timeout for CSS selection (in ms)
- $index : int
-
Index of the element (0-based)
- $retries : int = 6
-
Retry count for set loop
Return values
string —findCssAndGetText()
Get text of an element selected via CSS; retry if it fails due to DOM change.
protected
findCssAndGetText(Element $page, string $selector[, int $timeout = null ], int $index[, int $retries = 6 ]) : string
Parameters
- $page : Element
-
Page element
- $selector : string
-
CSS selector
- $timeout : int = null
-
Wait timeout for CSS selection (in ms)
- $index : int
-
Index of the element (0-based)
- $retries : int = 6
-
Retry count for set loop
Return values
string —findCssAndGetValue()
Get value of an element selected via CSS; retry if it fails due to DOM change.
protected
findCssAndGetValue(Element $page, string $selector[, int $timeout = null ], int $index[, int $retries = 6 ]) : string
Parameters
- $page : Element
-
Page element
- $selector : string
-
CSS selector
- $timeout : int = null
-
Wait timeout for CSS selection (in ms)
- $index : int
-
Index of the element (0-based)
- $retries : int = 6
-
Retry count for set loop
Return values
string —findCssAndSetValue()
Set a value within an element selected via CSS; retry if set fails due to browser bugs.
protected
findCssAndSetValue(Element $page, string $selector, string $value[, int $timeout = null ][, int $retries = 6 ][, bool $verifyValue = true ][, bool $reFocus = false ]) : mixed
Parameters
- $page : Element
-
Page element
- $selector : string
-
CSS selector
- $value : string
-
Value to set
- $timeout : int = null
-
Wait timeout for CSS selection (in ms)
- $retries : int = 6
-
Retry count for set loop
- $verifyValue : bool = true
-
Whether to verify that the value was written
- $reFocus : bool = false
-
Whether to focus the element when done setting the value
Return values
mixed —getCurrentQueryString()
Get query string for the current page
protected
getCurrentQueryString([bool $excludeSid = false ]) : string
Parameters
- $excludeSid : bool = false
-
Whether to remove any sid from the query string
Return values
string —getCurrentUrlWithoutSid()
Get current URL without any sid parameter in the query string
protected
getCurrentUrlWithoutSid() : string
Return values
string —getDefaultTimeout()
Get the default timeout in milliseconds
protected
getDefaultTimeout() : int
Return values
int —getFirstMethodAttributeValue()
Extract the first parameter of the first attribute matching the specified criteria.
protected
getFirstMethodAttributeValue(string $method, string $attribute[, mixed $default = null ]) : mixed
Parameters
- $method : string
-
Method name to check for attributes
- $attribute : string
-
Attribute class name to look up
- $default : mixed = null
-
Default value to use if no match found
Tags
Return values
mixed —getMinkDriver()
Get the Mink driver, initializing it if necessary.
protected
getMinkDriver() : Selenium2Driver
Return values
Selenium2Driver —getMinkSession()
Get a Mink session.
protected
getMinkSession() : Session
Return values
Session —getPathResolver()
Get a config file path resolver
protected
getPathResolver([string|null $baseDirectory = null ]) : PathResolver
Parameters
- $baseDirectory : string|null = null
-
Optional directory to override APPLICATION_PATH
Return values
PathResolver —getSearchHomePage()
Load the Search/Home page as a foundation for searching.
protected
getSearchHomePage([Session|null $session = null ]) : Element
Parameters
- $session : Session|null = null
-
Mink session (will be automatically established if not provided).
Return values
Element —getSnoozeMultiplier()
Get the snooze multiplier.
protected
getSnoozeMultiplier() : float
Return values
float —getTestName()
Get name of the current test
protected
getTestName() : string
Return values
string —getVuFindUrl()
Get base URL of running VuFind instance.
protected
getVuFindUrl([string $path = '' ]) : string
Parameters
- $path : string = ''
-
Relative path to add to base URL.
Return values
string —gotoRecord()
Move the current page to a record by performing a search.
protected
gotoRecord([string $query = 'Dewey' ]) : Element
Parameters
- $query : string = 'Dewey'
-
Search query to perform.
Return values
Element —goToTagAdmin()
Set up and access the Tag Admin page.
protected
goToTagAdmin([string $subPage = '' ]) : Element
Parameters
- $subPage : string = ''
-
The tag admin sub-page (optional)
Return values
Element —hasElementsMatchingText()
Check whether an element containing the specified text exists.
protected
hasElementsMatchingText(Element $page, string $selector, string $text) : bool
Parameters
- $page : Element
-
Page element
- $selector : string
-
CSS selector
- $text : string
-
Expected text
Return values
bool —htmlValidationMsgToStr()
Convert a NU HTML Validator message to a string
protected
htmlValidationMsgToStr(array<string|int, mixed> $message) : string
Parameters
- $message : array<string|int, mixed>
-
Validation message
Return values
string —logWarning()
Log a warning message
protected
logWarning(string $consoleMsg[, string $logMsg = '' ]) : void
Parameters
- $consoleMsg : string
-
Message to output to console
- $logMsg : string = ''
-
Message to output to PHP error log
Return values
void —makeAccount()
Make new account
protected
makeAccount(Element $page, string $username) : void
Parameters
- $page : Element
-
Page element
- $username : string
-
Username to create
Return values
void —outputHtmlValidationMessages()
Output HTML validation messages to log file and/or console
protected
outputHtmlValidationMessages(array<string|int, mixed> $messages, string $level, string $logFile, bool $quiet) : void
Parameters
- $messages : array<string|int, mixed>
-
Messages
- $level : string
-
Message level (info or error)
- $logFile : string
-
Log file name
- $quiet : bool
-
Whether the console output should be quiet
Return values
void —performSearch()
Search for the specified query.
protected
performSearch(string $query[, string $handler = null ][, string $path = '/Search' ]) : Element
Parameters
- $query : string
-
Search term(s)
- $handler : string = null
-
Search type (optional)
- $path : string = '/Search'
-
Path to use as search starting point (optional)
Return values
Element —removeUsername2And3And4()
Retry cleanup method in case of failure during testRating.
protected
removeUsername2And3And4() : void
Return values
void —removeUsers()
Static teardown support function to destroy user accounts. Accounts are expected to exist, and the method will fail if they are missing.
protected
static removeUsers(array<string|int, string>|string $users) : void
Parameters
- $users : array<string|int, string>|string
-
User(s) to delete
Tags
Return values
void —restoreConfigs()
Restore configurations to the state they were in prior to a call to changeConfig().
protected
restoreConfigs() : void
Return values
void —snooze()
Sleep if necessary.
protected
snooze([int $secs = 1 ]) : void
Parameters
- $secs : int = 1
-
Seconds to sleep
Return values
void —sortResults()
Change sort order of search results
protected
sortResults(Element $page, string $value) : void
Parameters
- $page : Element
-
Current page
- $value : string
-
Sort option
Return values
void —stopMinkSession()
Shut down the Mink session.
protected
stopMinkSession() : void
Return values
void —submitLoginForm()
Submit the login form (assuming it's open).
protected
submitLoginForm(Element $page[, bool $inModal = true ][, string $prefix = '' ]) : void
Parameters
- $page : Element
-
Page element.
- $inModal : bool = true
-
Should we assume the login box is in a lightbox?
- $prefix : string = ''
-
Extra selector prefix
Return values
void —submitSearchForm()
Submit a search on the provided page.
protected
submitSearchForm(Element $page, string $query[, string $handler = null ]) : void
Parameters
- $page : Element
-
Current page object
- $query : string
-
Search term(s)
- $handler : string = null
-
Search type (optional)
Tags
Return values
void —unFindCss()
Wait for an element to NOT exist.
protected
unFindCss(Element $page, string $selector[, int $timeout = null ], int $index) : void
Parameters
- $page : Element
-
Page element
- $selector : string
-
CSS selector
- $timeout : int = null
-
Wait timeout (in ms)
- $index : int
-
Index of the element (0-based)
Return values
void —validateHtml()
Validate current page HTML if validation is enabled and a session exists
protected
validateHtml([Element|null $page = null ]) : void
Parameters
- $page : Element|null = null
-
Page to check (optional; uses the page from session by default)
Tags
Return values
void —waitForLightboxHidden()
Wait for Lightbox to become hidden if it isn't already.
protected
waitForLightboxHidden() : void
Return values
void —waitForPageLoad()
Wait for page load (full page or any element) to complete
protected
waitForPageLoad(Element $page[, int $timeout = null ]) : void
Parameters
- $page : Element
-
Page element
- $timeout : int = null
-
Wait timeout (in ms)
Return values
void —waitStatement()
Wait for a JavaScript statement to result in true.
protected
waitStatement(string $statement[, int $timeout = null ]) : mixed
Includes a check for $ to be available to make sure jQuery has been loaded.
Parameters
- $statement : string
-
JavaScript statement to evaluate
- $timeout : int = null
-
Wait timeout (in ms)