hyperstack icon indicating copy to clipboard operation
hyperstack copied to clipboard

Allow `on_client` and related methods to be run in RSpec before(:all) blocks

Open catmando opened this issue 4 years ago • 0 comments

ATM if you run on_client, mount and isomorphic methods in before(:all) blocks they just don't do anything, because the capybara page is not loaded yet.

What should happen is that the args to those methods should be queued up and added in a mechanism similar what before_mount uses.

A note (that also applies to before_mount) is that if no_reset is false, then this action should repeat on each spec, but if no_reset is true, then it should only happen once.

before(:all) do 
  on_client do  
     puts 'hello world'
  end 
end

if no_reset is true, then 'hello world' will be displayed just once on the client, if no_reset is false then it will be displayed as each spec runs.

NOW... given all this, it would seem that what we really want to do is also make these methods (and before_mount) all available at the spec block level, which would mean that they run in a before(:all) block. So the above could be shortened to

on_client do  # before(:all) is implicit
  puts 'hello world'
end

catmando avatar Feb 22 '21 14:02 catmando