Module: Workarea::Factories::Segment
- Defined in:
- lib/workarea/testing/factories/segment.rb
Instance Method Summary collapse
- #create_life_cycle_segments ⇒ Object
- #create_segment(overrides = {}) ⇒ Object
- #create_visit(overrides = {}) ⇒ Object
- #sample_rack_env ⇒ Object
Instance Method Details
#create_life_cycle_segments ⇒ Object
6 7 8 |
# File 'lib/workarea/testing/factories/segment.rb', line 6 def create_life_cycle_segments Workarea::Segment::LifeCycle.create! end |
#create_segment(overrides = {}) ⇒ Object
10 11 12 13 |
# File 'lib/workarea/testing/factories/segment.rb', line 10 def create_segment(overrides = {}) attributes = factory_defaults(:segment).merge(overrides) Workarea::Segment.create!(attributes) end |
#create_visit(overrides = {}) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/workarea/testing/factories/segment.rb', line 15 def create_visit(overrides = {}) attributes = sample_rack_env.merge(overrides.except(:email, :sessions)) result = Workarea::Visit.new(attributes) if overrides[:email].present? result..signed[:email] = overrides[:email] end if overrides[:sessions].present? result.[:sessions] = overrides[:sessions] end if overrides.key?(:logged_in) result.stubs(logged_in?: overrides[:logged_in]) end result end |
#sample_rack_env ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/workarea/testing/factories/segment.rb', line 34 def sample_rack_env Rails.application.env_config.merge( 'rack.version' => [1, 3], 'rack.multithread' => true, 'rack.multiprocess' => true, 'rack.run_once' => false, 'REQUEST_METHOD' => 'GET', 'SERVER_NAME' => 'www.example.com', 'SERVER_PORT' => '80', 'QUERY_STRING' => '', 'PATH_INFO' => '/current_user.json', 'rack.url_scheme' => 'http', 'HTTPS' => 'off', 'SCRIPT_NAME' => '', 'CONTENT_LENGTH' => '0', 'rack.test' => true, 'REMOTE_ADDR' => '127.0.0.1', 'REQUEST_URI' => '/current_user.json', 'HTTP_HOST' => 'www.example.com', 'CONTENT_TYPE' => nil, 'HTTP_ACCEPT' => 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_COOKIE' => '', 'ORIGINAL_FULLPATH' => '/current_user.json', 'ORIGINAL_SCRIPT_NAME' => '' ) end |