class PageContext < CmsContext
  def initialize
    super
    @partials = [{'name' => 'Footer', 'devs_only' => 'true'}]
  end

  def create_two_pages
    ['test', 'home'].each {|name| given_page(name)}
  end

  def create_page(name)
    @name = name
    click_a_tag('Add Page')
    page_information = get_page_information[name]
    ['name', 'url', 'title text'].each do |field|
      fill_in_by_data_field(make_lazy_camel_case(field), page_information[field])
    end
    within('#new-entity') { click_and_wait('Add Page') }
  end

  def expect_to_exist(name)
    expect(Page.find_by(name: name)).to be_truthy
  end

  private

  def get_page_information
    {
      'Home' => {
        'name' => 'Home',
        'url' => '/home',
        'title text' => 'Teachable home'
      }
    }
  end
end
