Class: IcsValidator::WebSession

Inherits:
Object
  • Object
show all
Defined in:
lib/ics_validator/web_session.rb

Overview

Capybara session for interacting with icalvalid.cloudapp.net

Instance Method Summary collapse

Constructor Details

#initializeWebSession

Returns a new instance of WebSession.



10
11
12
13
14
15
16
17
18
# File 'lib/ics_validator/web_session.rb', line 10

def initialize
  @session = Capybara::Session.new(:poltergeist)

  @session.driver.headers = {
    'User-Agent' => "Mozilla/5.0 (Macintosh; Intel Mac OS X)"
  }

  @session.visit('http://icalvalid.cloudapp.net/')
end

Instance Method Details

#get_api_responseObject



30
31
32
33
34
35
36
37
38
# File 'lib/ics_validator/web_session.rb', line 30

def get_api_response
  response = nil

  Capybara.send(:timeout, 20, @session.driver) do
    response = ApiResponse.build(@session.html)
  end

  response
end

#validate_file(path) ⇒ Object



25
26
27
28
# File 'lib/ics_validator/web_session.rb', line 25

def validate_file(path)
  @session.attach_file('Content_fileUpload', path)
  @session.click_button "Content_btnUpload"
end

#validate_snippet(snippet) ⇒ Object



20
21
22
23
# File 'lib/ics_validator/web_session.rb', line 20

def validate_snippet(snippet)
  @session.fill_in('Content_tbSnippet', with: snippet)
  @session.click_button "Content_btnValidateSnippet"
end