Module: Webs::WebsTestHelper
- Defined in:
- lib/test/webs_test_helper.rb
Instance Method Summary collapse
- #assert_difference(executable, how_many = 1, &block) ⇒ Object
- #assert_no_difference(executable, &block) ⇒ Object
-
#fw_param_permuter(options = {}, &block) ⇒ Object
Permute: is_admin, permission_level, tier, social & premium fw_param_permuter( :only=>[:fw_sig_is_admin, :fw_sig_social, :fw_sig_permission_level] ) fw_param_permuter( :except=>[:fw_sig_tier, :fw_sig_premium]} ) fw_param_permuter( :vals=>{:test=>[‘a’, ‘b’, ‘c’] ).
- #fw_sitebuilder_test_params(options = {}) ⇒ Object
- #fw_test_params(options = {}) ⇒ Object
- #fw_test_scenarios(options = {}) ⇒ Object
- #permute_params(params, h_vals, block) ⇒ Object
Instance Method Details
#assert_difference(executable, how_many = 1, &block) ⇒ Object
66 67 68 69 70 71 |
# File 'lib/test/webs_test_helper.rb', line 66 def assert_difference(executable, how_many = 1, &block) before = eval(executable) yield after = eval(executable) after.should == before + how_many end |
#assert_no_difference(executable, &block) ⇒ Object
73 74 75 76 77 78 |
# File 'lib/test/webs_test_helper.rb', line 73 def assert_no_difference(executable, &block) before = eval(executable) yield after = eval(executable) after.should == before end |
#fw_param_permuter(options = {}, &block) ⇒ Object
Permute: is_admin, permission_level, tier, social & premium fw_param_permuter( :only=>[:fw_sig_is_admin, :fw_sig_social, :fw_sig_permission_level] ) fw_param_permuter( :except=>[:fw_sig_tier, :fw_sig_premium]} ) fw_param_permuter( :vals=>{:test=>[‘a’, ‘b’, ‘c’] )
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/test/webs_test_helper.rb', line 29 def fw_param_permuter ={}, &block param_vals = { :fw_sig_is_admin=>[0,1], :fw_sig_permission_level=>Webs::PermissionLevel::VALUES, :fw_sig_social=>[0,1], :fw_sig_premium=>[0,1], :fw_sig_tier=>[0,1,2,3] } if (only = .delete(:only)) param_vals.keys.each { |k| param_vals.delete(k) if !only.include?(k)} end if (except = .delete(:except)) param_vals.keys.each { |k| param_vals.delete(k) if except.include?(k)} end if (vals = .delete(:vals)) param_vals.merge!( vals ) end params = fw_test_params( ) permute_params params, param_vals, block end |
#fw_sitebuilder_test_params(options = {}) ⇒ Object
15 16 17 |
# File 'lib/test/webs_test_helper.rb', line 15 def fw_sitebuilder_test_params ={} fw_test_params .merge( :fw_sig_is_admin=>'1' ) end |
#fw_test_params(options = {}) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 |
# File 'lib/test/webs_test_helper.rb', line 3 def fw_test_params ={} { :fw_sig_site=>rand(100000), :fw_sig_is_admin=>'0', :fw_sig_permission_level=>Webs::PermissionLevel[:anyone], :fw_sig_tier=>'0', :fw_sig_url=>'localhost:3000', :fw_sig_user=>rand(100000), :fw_sig_social=>'1', :fw_sig_premium=>'0', :fw_sig_width=>800 }.merge( ) end |
#fw_test_scenarios(options = {}) ⇒ Object
19 20 21 22 23 |
# File 'lib/test/webs_test_helper.rb', line 19 def fw_test_scenarios ={} scenarios = [] fw_param_permuter( ){ |params| scenarios << params } scenarios end |
#permute_params(params, h_vals, block) ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/test/webs_test_helper.rb', line 53 def permute_params params, h_vals, block if h_vals.size == 0 block.call( params.clone ) else k = h_vals.keys.first vals = h_vals.delete(k) vals.each do |v| params[k] = v.to_s permute_params params, h_vals.clone, block end end end |