Given(/^I am logged in to mobile analytics as (.*)$/) do |user|
  user_data = DataHelpers::UserConfig.lookup(:workstation, user)
  visit(MobileAnalytics::LoginPage).login
  on(AuthPage).login_as(user_data)
end

When(/^I log in to mobile analytics as a new user$/) do
  user_data = { username: @timestamped_test_name,
                password: "Orchard123" }
  visit(MobileAnalytics::LoginPage).login
  on(AuthPage).login_as(user_data)
end

Then(/^I see graphs for mobile analytics data$/) do
  on(MobileAnalytics::IndexPage) do |page|
    page.wait_for_graph_to_load
    expect(page.current_url).to eql page.page_url_value
  end
end

When(/^I log out of mobile analytics$/) do
  on(MobileAnalytics::IndexPage).logout
end

Then(/^I am on the mobile analytics login page$/) do
  on(MobileAnalytics::LoginPage) do |page|
    expect(page.current_url).to eql page.page_url_value
    expect(page.login_element.element.present?).to be true
  end
end

When(/^I change the time range to 3 months$/) do
  on(MobileAnalytics::IndexPage) do |page|
    page.wait_for_loader
    @old_card_total = page.first_data_card_total.to_i
    page.three_months_time_domain
  end
end

Then(/^the total on the first card increases$/) do
  on(MobileAnalytics::IndexPage) do |page|
    page.wait_for_loader
    new_card_total = page.first_data_card_total.delete(",").to_i
    expect(new_card_total).to be > @old_card_total
  end
end
