Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.8
->5.1
Release Notes
site-prism/site_prism (site_prism)
v5.1
Compare Source
Changed
Permit
#all_there?
to be called with an options payload (Defaults to no waiting for now)options
hash i.e.options: { wait: 5 }
to wait for a specific time ([luke-hill])Version bumps
site_prism-all_there
must be at least3.0
rubocop
and associated gems have had partial bumpscapybara
now must be at least3.34
v5.0.4
Compare Source
Fixed
v5.0.3
Compare Source
Changed
Fixed
no
as a DSL name was incorrectly banned. This has now been fixed ([luke-hill])v5.0.2
Compare Source
Changed
automation_helpers
gem in local browser configuration (Still a bit messy whilst we support pre-selenium-manager versions) ([luke-hill])Fixed
v5.0.1
Compare Source
Changed
Fixed
ElementChecker
class ([luke-hill])v5.0
Compare Source
Fixed
v4.0.3
Compare Source
Changed
The unit tests now by default use a proper rack app and test using a mocked html response
(No more hard-coded mocked responses, meaning our unit tests are much more realistic!)
([luke-hill])
Optimised some recursion logic to use the
site_prism-all_there
sub-gem ([luke-hill])Fixed
#elements_present
properly respects.expected_items
when set ([luke-hill])v4.0.2
Compare Source
Fixed
Fixing loading issue where SitePrism would crash if
capybara/dsl
wasn't preloaded([leoarnold])
Fixing bug with Ruby 3 keyword arguments
([diego-aslz] & [luke-hill])
v4.0.1
Compare Source
Added
([luke-hill])
Changed
Autoload
is now removed from all remaining support classes that used it([luke-hill])
Fixed the
SitePrism::Timer
class to be api-private([luke-hill])
Gem bumps to dev_dependencies
webdrivers
is now pinned to v5 versionsrubocop
gems all bumped to latest ruby 2.6 compliant version([luke-hill])
Fixed
Lots of cross leaked items in RSpec have now been fixed and isolated
([luke-hill])
Lots of spam from deprecation messages (that are auto-triggered), have now been reduce
([luke-hill])
v4.0
Compare Source
Changed
The unit tests now by default use a proper rack app and test using a mocked html response
(No more hard-coded mocked responses, meaning our unit tests are much more realistic!)
([luke-hill])
Optimised some recursion logic to use the
site_prism-all_there
sub-gem ([luke-hill])Fixed
#elements_present
properly respects.expected_items
when set ([luke-hill])v3.7.3
Compare Source
Changed
The internal DSL mapping methods which map the locators/booleans now always use
#to_capybara_node
capybara guides. It should also dramatically reduce Deprecation WARNINGS in the SitePrism logger
([luke-hill])
Gem bumps to dependencies
capybara
andselenium-webdriver
must now be from 2019/20 eracucumber
can now be any version from 4-8 exclusiverubocop
andrubocop-rspec
have been bumped a major version (Still a healthy amount behind latest)([luke-hill])
Switched CI from defunct travis to Github Actions
([luke-hill])
Fixed
([luke-hill])
v3.7.2
Compare Source
Changed
Bumped a whole raft of dev dependencies
([luke-hill])
Minor lib/spec optimisations from
rubocop-performance
/rubocop-rspec
([luke-hill])
v3.7.1
Compare Source
Added
([luke-hill])
Changed
([luke-hill])
v3.7
Compare Source
Changed
The internal DSL mapping methods which map the locators/booleans now always use
#to_capybara_node
capybara guides. It should also dramatically reduce Deprecation WARNINGS in the SitePrism logger
([luke-hill])
Gem bumps to dependencies
capybara
andselenium-webdriver
must now be from 2019/20 eracucumber
can now be any version from 4-8 exclusiverubocop
andrubocop-rspec
have been bumped a major version (Still a healthy amount behind latest)([luke-hill])
Switched CI from defunct travis to Github Actions
([luke-hill])
Fixed
([luke-hill])
v3.6
Compare Source
Added
#elements_missing
method which returns all missing elements from the expected_elements list ([ineverov])Changed
Required Ruby Version is now 2.4+
selenium-webdriver
in alpha versions([luke-hill])
Refined SitePrism's
Waiter.wait_until_true
logicTimecop.freeze
and Rails'travel_to
FrozenInTimeError
was removed as it is no longer needed([sos4nt])
Fixed
SitePrism's RSpec matchers fall back to behaviour matching that of the standard RSpec
built-in matchers when called on anything that is not a SitePrism object.
([lparry] & [luke-hill])
Fixed up a bunch more RSpec cop offenses and updated the minimum dev requirement of rubocop to
0.81
as it was ancient!([luke-hill])
v3.5
Compare Source
Added
no_
prefix([anuj-ssharma] & [luke-hill])
Fixed
Fixed warnings about keyword arguments in Ruby 2.7
([oieioi])
Generic suite fixes for making tests more robust
([ineverov])
Fixed an issue where block syntax wouldn't work properly for a singular DSL item (element / section)
use SitePrism's
#within
scoping method which accesses the Capybara one using the SitePrism initializer.Read HERE for more info
([tgaff])
v3.4.2
Compare Source
Added
([luke-hill])
Changed
All internal SitePrism tests now will enable
site_prism-all_there
gem by default(Whilst the gem is still optional)
v3.x
series this gem will slowly move more into mainstream and will become the defaultoption for
v4.0
([luke-hill])
Travis now builds on ruby
2.7
instead ofruby-head
([luke-hill])
gemspec now forces version
0.3.1
minimum ofsite_prism-all_there
< 1
are permitted to future-proof it against further tweaks([luke-hill])
v13 of
rake
can now be used([luke-hill])
Fixed
([luke-hill])
v3.4.1
Compare Source
Changed
Update the
Gemfile.low_spec
as it was untouched in over 6 months([luke-hill])
Unlock
site_prism-all_there
to any0.x
version higher than0.3
now it is more stable([luke-hill])
Added more rubocop rule definitions
([luke-hill])
Fixed
([luke-hill])
v3.4
Compare Source
Added
([luke-hill])
Changed
All internal SitePrism tests now will enable
site_prism-all_there
gem by default(Whilst the gem is still optional)
v3.x
series this gem will slowly move more into mainstream and will become the defaultoption for
v4.0
([luke-hill])
Travis now builds on ruby
2.7
instead ofruby-head
([luke-hill])
gemspec now forces version
0.3.1
minimum ofsite_prism-all_there
< 1
are permitted to future-proof it against further tweaks([luke-hill])
v13 of
rake
can now be used([luke-hill])
Fixed
([luke-hill])
v3.3
Compare Source
Added
Initial
#all_there?
recursion logic:none
and:one
):none
(The default), the behaviour is identical:one
,#all_there?
will recurse through every section and sections itemthat has been defined, and run
#all_there?
on those items also.NB: This is very much a working prototype, and additional refactors / tweaks will be forthcoming
([luke-hill])
Added a feature deprecator to allow easier deprecation / removal of obsolete or old parts of
the codebase
([luke-hill])
Changed
SitePrism is now hosted in it's own individual organisation! Special thanks to everyone who has helped
out in the past, but now we're looking to host multiple co-dependent gems from this new organisation
([luke-hill])
Capybara dependency has been slightly bumped from
3.2+
to3.3+
to mitigate against a minorlocator reference issue (None reported, but future-proofing)
([luke-hill])
Fixed
README fixes
([andyw8] & [TheSpartan1980])
Fix an issue where chrome wasn't building successfully due to the migration to W3C capabilities
([luke-hill])
v3.2
Compare Source
Added
Allow
#load
to be called with a new option:with_validations
false
this will skip load_validations for the one method invocationtrue
the previous behaviour is retained (Validations running)([JanStevens])
rubocop-performance
has been added as a development dependency to future-proof againstimpending major rubocop release
([luke-hill])
When using rspec matchers, the
.not_to
matcher will now use thehas_no_<element>?
method call!has_<element>?
call, which waited for the full duration to fail([hoffi])
Added new
#wait_until_displayed
method that sits alongside#displayed?
#displayed?
call has now been refactored to be a bit cleaner#wait_until_displayed
will wait or crash (Not return a boolean like#displayed?
([TheSpartan1980] & [luke-hill])
Changed
rubocop
rules regarding formatting (To bring it more in-line with the 21st century!)([luke-hill])
Fixed
Travis now uses
webdrivers
gem to build and mitigate driver issues([luke-hill])
SitePrism can now detect if Time has been frozen (i.e. with Timecop), whilst using
.wait_until_true
([dkniffin])
v3.1
Compare Source
Added
Add info on how to deal with V2 -> V3 upgrade warnings RE Capybara selectors
wait
keys towait_until_*
methods([tgaff])
Added gem version badge to
README.md
([luke-hill])
Some of the README docs surrounding how to setup site_prism have been improved
require
statements in cucumber / rspec stacks([luke-hill])
XPath vs CSS iFrame inconsistency (There was the potential for an xpath iFrame to be "read" as CSS)
:xpath
type([luke-hill])
The SitePrism Logger has been massively refactored
2.3
([luke-hill])
Changed
Travis now uses
xenial
Ubuntu in the Docker VM Tests, bringing it more up to date([luke-hill])
Travis now will build on some more (older), permutations of gems to increase test coverage
([luke-hill])
The
HISTORY.md
document has now moved toCHANGELOG.md
to try keep it in-line with other OSS repos([luke-hill])
Fixed
During DSL Map phase, ensure all items are cast to symbol to ensure type-standardisation
([luke-hill])
In some unit tests the XPath iFrame was created using CSS, this has now been fixed
([luke-hill])
Added waiter methods for iFrame's that were previously missing, bringing them in-line with other DSL items
([luke-hill])
v3.0.3
Compare Source
Changed
Upped some gem dependencies
rubocop
now is finally upped to v63dotenv ~> 2.6
- Only used in internal developmentlow_spec.gemfile
version ofaddressable
is capped at2.5
now a2.6
version exists([luke-hill])
DRY up some internal tests by using rspec profiles and
.rspec
file([luke-hill])
Fixed
Fixed an issue that caused SitePrism not to change scopes when two different Capybara sessions were in use
([luke-hill] & [twalpole])
Fixed an issue where SitePrism could fail a travis build because of the load order of tests
([luke-hill])
Load Validations
#loaded
attr_accessor
to actually cache - It never did! (This speeds up#loaded?
calls)([luke-hill])
v3.0.2
Compare Source
Added
2.6
andruby-head
([tadashi0713])
Changed
Completely altered the namespace of the SitePrism DSL
SitePrism::DSL
(Nearly all is still package private)ElementChecker
introducing recursion([luke-hill])
Improve runtime of cucumber tests by another 10-20%
([luke-hill])
v3.0.1
Compare Source
Added
([luke-hill])
Changed
Local Testing Page improvements
([luke-hill])
Complete name-check/sweep of all poorly named test components
([luke-hill])
Item mapping (A large component of the site_prism build phase) has been refactored and slightly extended
#all_there?
to provide recursion capabilities([luke-hill])
Upped some gem dependencies
rubocop
now is finally upped to v60 (More to come)rspec ~> 3.8
/rake ~> 12.3
capybara
is now only supported on2.18
outside of the3.x
seriescucumber
/selenium-webdriver
both bumped one minor version([luke-hill])
Fixed
A config setting that causes local single test (rspec/cucumber) runs to crash
simplecov
caching dual results([luke-hill])
Stopped Ruby
2.5
users getting spammed with warnings about uninitialised instance variables([menge101])
Updated user documentation to not advise using now removed methods!
([TheSpartan1980])
v3.0
Compare Source
Changed
Upped some gem dependencies
rubocop
now is finally upped to v63dotenv ~> 2.6
- Only used in internal developmentlow_spec.gemfile
version ofaddressable
is capped at2.5
now a2.6
version exists([luke-hill])
DRY up some internal tests by using rspec profiles and
.rspec
file([luke-hill])
Fixed
Fixed an issue that caused SitePrism not to change scopes when two different Capybara sessions were in use
([luke-hill] & [twalpole])
Fixed an issue where SitePrism could fail a travis build because of the load order of tests
([luke-hill])
Load Validations
#loaded
attr_accessor
to actually cache - It never did! (This speeds up#loaded?
calls)([luke-hill])
v2.17.1
Compare Source
Fixed
Configuration options now only throw warnings when written to
([luke-hill])
Fixed a name collision for a private method in
ElementChecker
that conflicted with ActiveRecord([Systho])
v2.17
Compare Source
Fixed
Configuration options now only throw warnings when written to
([luke-hill])
Fixed a name collision for a private method in
ElementChecker
that conflicted with ActiveRecord([Systho])
v2.16
Compare Source
Added
([luke-hill])
Changed
Refactored the way in which the procedural
Loadable
block is set forSitePrism::Page
([luke-hill])
Upped Version Dependencies
capybara
must be at least2.15
selenium-webdriver ~> 3.5
([luke-hill])
Altered
HISTORY.md
into more hyperlinked and declarative format([luke-hill] & [JaniJegoroff])
Tidied up the Sample HTML files so they had less un-required information
([luke-hill])
Refactored the way the
wait
key is assigned for all meta-programmed methods([luke-hill])
Fixed
Spec locations (All are now in correct files)
([luke-hill])
README / rubocop fixes
([luke-hill])
v2.15.1
Compare Source
Added
Error
([luke-hill])
Changed
Add ability to test multiple gemfiles in travis
([luke-hill])
Removed all constants aside from
VERSION
([luke-hill])
Improve runtime of cucumber tests by around 30% overall by tweaking some internal JS code
([luke-hill])
Upped Capybara Version Dependency
capybara >= 2.14, < 3.3
([luke-hill])
Altered travis config to test for lowest gem configuration permissible in site_prism
([luke-hill])
Fixed
Fixed up some unit tests to cover pages defined with differing selectors
([luke-hill])
README fixes
([luke-hill])
Fix scoping issue that prevented iFrames / JS methods defined inside a
section
working([ineverov])
v2.15
Compare Source
Added
Error
([luke-hill])
Changed
Add ability to test multiple gemfiles in travis
([luke-hill])
Removed all constants aside from
VERSION
([luke-hill])
Improve runtime of cucumber tests by around 30% overall by tweaking some internal JS code
([luke-hill])
Upped Capybara Version Dependency
capybara >= 2.14, < 3.3
([luke-hill])
Altered travis config to test for lowest gem configuration permissible in site_prism
([luke-hill])
Fixed
Fixed up some unit tests to cover pages defined with differing selectors
([luke-hill])
README fixes
([luke-hill])
Fix scoping issue that prevented iFrames / JS methods defined inside a
section
working([ineverov])
v2.14
Compare Source
Removed
Waiter.default_wait_time
(As this just called the Capybara method)([luke-hill])
Added
Introduced new sister method to
#expected_elements
-#elements_present
([luke-hill])
Enabled ability to set default search arguments inside a Section
@root_element
to be defined from.set_default_search_arguments
([ineverov])
Testing for Ruby 2.5 on Travis
([luke-hill])
Changed
Tidied up specs and made Code Coverage 100% compliant
([luke-hill])
Upped Development Version Dependencies
selenium-webdriver ~> 3.4
rubocop ~> 52.0
([luke-hill])
Rewrite
ElementContainer
by usingklass.extend
, removing severalself.class
calls([ineverov])
Added positive and negative timing tests to several scenarios in
waiting.feature
([luke-hill])
Fixed
Fixed waiting bug that caused
Waiter.default_wait_time
not to wait the correct duration([luke-hill])
Removed references to
Timeout.timeout
as this isn't threadsafe([twalpole])
Fixed issue where multiple runtime arguments weren't set at run-time (ignored by Capybara)
([twalpole])
rubocop fixes
([ineverov] & [jgs731])
v2.13
Compare Source
Removed
2.0
on Travis([luke-hill])
Added
Added new development docs to aid new and existing contributors
([luke-hill])
Added Feature to wait for non-existence of element/section
([ricmatsui])
Introduced configuration to raise an Exception after running
wait_for
methods([ricmatsui])
Changed
Refactored Waiter Class
.wait_until_true
.default_wait_time
([luke-hill])
Updated Suite Ruby Requirements (Minimum Ruby is now
2.1
)([luke-hill])
Internal testing tweaks
3.0.1
(Allowing new syntax testing)3.10
([luke-hill])
Use
shared_examples
in RSpec tests to enhance coverage and check xpath selectors([luke-hill])
Fixed
README.md
fixes([robd])
v2.12
Compare Source
Added
Added Ruby
2.4
testing to Travis([luke-hill])
Update Travis Environment to now test on Chrome and Firefox
([RustyNail] & [luke-hill])
Changed
Updated development dependencies to be a little more up to date
([luke-hill])
Allow iFrames to be specified using any selector (ID / Class / XPath / Index)
([ricmatsui])
Upped Development Dependency of Selenium (3.4 - 3.8)
([luke-hill])
Expose the
#native
method on Section Objects([luke-hill])
Fixed
README.md
/ rubocop / Test / TODO fixes([luke-hill])
Fix suite incidentally masking several issues due to incorrect cucumber setup
([luke-hill])
Fix issue where within a section, we lose our scoping
Capybara::DSL
. We need to rescope#page
to#root_element
([ilyasgaraev])
Performed a suite-wide cleanup of Gherkin. Made everything a lot more organised
([luke-hill])
v2.11
Compare Source
Added
Re-enable Rubocop compliance from PR signoff (Including fixing up some offences)
([RustyNail])
Allow
#all_there?
to be extended in the DSL with#expected_elements
([TheMetalCode])
Changed
Use the
.gemspec
file for all gem versions and remove any references to gems inGemfile
([luke-hill] & [tgaff])
Compressed
Rakefile
into smaller tasks for Increased Verbosity on Failures([luke-hill])
Update Travis to test on a variety of rubies:
2.0 -> 2.3
, using the latest geckodriver([luke-hill])
Refactored SitePrism's Addressable library so its slightly less confusing to debug
([luke-hill])
Fixed
Fix bug where SitePrism failed load-validation's when passed Block Parameters with no URL
([kei2100])
README / rubocop fixes
([luke-hill])
v2.10
Compare Source
Removed
([luke-hill])
Added
Added base contributing / issue templates
([luke-hill])
Established Roadmap of items to be fixed in coming months
([luke-hill])
Reworked specs / developmental code to read better
([luke-hill])
Changed
Upped Version Dependencies
capybara ~> 2.3
rspec ~> 3.2
([luke-hill])
Capped Development dependencies for
cucumber (2.4)
andselenium-webdriver (3.4)
([luke-hill])
Reworked all text files into Markdown structure to allow formatting
([luke-hill])
Fixed
Travis Fixes
trusty
fromprecise
([RustyNail])
Allow
#all_there?
to use in-line configured implicit wait (Still defaulted to false)([RustyNail])
README / rubocop fixes
([luke-hill] & [iwollmann])
v2.9.1
Compare Source
Removed
Travis tests for EOL Rubies (
2.0
/2.1
/2.2
)([natritmeyer])
Codebase cleanup of non-used config files
([luke-hill])
Changed
Bumped Travis Ruby version from
2.2
to2.3
([natritmeyer])
Upped Version Dependency of
addressable
to~> 2.4
([luke-hill])
Fixed
README / rubocop fixes
([whoojemaflip] & [natritmeyer] & [luke-hill])
Fixed namespace clashes with sections and rspec
([tobithiel])
Improved Codecoverage pass-rate from
85%
to99%
(1 outstanding item)([luke-hill])
v2.9
Compare Source
Removed
Travis tests for EOL Rubies (
2.0
/2.1
/2.2
)([natritmeyer])
Codebase cleanup of non-used config files
([luke-hill])
Changed
Bumped Travis Ruby version from
2.2
to2.3
([natritmeyer])
Upped Version Dependency of
addressable
to~> 2.4
([luke-hill])
Fixed
README / rubocop fixes
([whoojemaflip] & [natritmeyer] & [luke-hill])
Fixed namespace clashes with sections and rspec
([tobithiel])
Improved Codecoverage pass-rate from
85%
to99%
(1 outstanding item)([luke-hill])
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.