OSDN Git Service

refactor test code
authorakrstjp <akrst@users.osdn.me>
Tue, 5 Apr 2016 13:58:53 +0000 (22:58 +0900)
committerakrstjp <akrst@users.osdn.me>
Tue, 5 Apr 2016 13:58:53 +0000 (22:58 +0900)
test/selenium/clear_core_field.rb
test/selenium/clear_custom_field.rb
test/selenium/edit_core_field.rb
test/selenium/edit_custom_field.rb
test/selenium/edit_on_mypage.rb
test/selenium/helpers/issue_helper.rb [deleted file]
test/selenium/pages/my_apikey.rb
test/selenium/pages/page.rb
test/selenium/pages/quick_edit.rb
test/selenium/replace_core_field.rb
test/selenium/replace_core_field_on_mypage.rb

index 040628f..d11c2db 100644 (file)
@@ -12,6 +12,7 @@ require "net/http"
 include RSpec::Expectations
 
 describe "Clear core field" do
+  let(:helper) { TestHelper.new }
 
   before(:all) do
     profile = Selenium::WebDriver::Firefox::Profile.new
@@ -38,6 +39,9 @@ describe "Clear core field" do
 
   before(:each) do
     @issues_page = @issues_page.open_issues
+    helper.page = @issues_page
+    helper.base_url = @base_url
+    helper.issue_id = @issue_id
   end
   
   after(:each) do
@@ -50,82 +54,49 @@ describe "Clear core field" do
   
   it "start_date can clear" do
     new_value = '1900-01-01'
-    expect( edit(@issue_id, :start_date, new_value) ).to eq new_value
+    expect( helper.edit(:start_date, new_value) ).to eq new_value
 
-    expect( clear(@issue_id, :start_date) ).to eq nil
+    expect( helper.clear(:start_date) ).to eq nil
   end
 
   it "start_date can clear with private notes" do
     # before edit
     new_value = '1900-01-01'
-    expect( edit(@issue_id, :start_date, new_value) ).to eq new_value
+    expect( helper.edit(:start_date, new_value) ).to eq new_value
 
     # clear
     new_value = {:value => :none,
                  :notes => {:text => "notes\ntime=" + (Time.now.to_s), :is_private => true}}
-    expect( edit(@issue_id, :start_date, new_value) ).to eq new_value[:value]
-    expect( latest_note(@issue_id, @issues_page.session_cookie) ).to eq new_value
+    expect( helper.clear(:start_date, new_value[:notes]) ).to eq nil
+    expect( helper.latest_note ).to eq new_value
   end
 
   it "due_date can clear" do
     new_value = '2000-01-01'
-    expect( edit(@issue_id, :due_date, new_value) ).to eq new_value
+    expect( helper.edit(:due_date, new_value) ).to eq new_value
 
-    expect( clear(@issue_id, :due_date) ).to eq nil
+    expect( helper.clear(:due_date) ).to eq nil
   end
 
   it "estimated_hours can clear" do
     new_value = '0'
-    expect( edit(@issue_id, :estimated_hours, new_value).to_f ).to eq new_value.to_f
+    expect( helper.edit(:estimated_hours, new_value).to_f ).to eq new_value.to_f
 
-    expect( clear(@issue_id, :estimated_hours) ).to eq nil
+    expect( helper.clear(:estimated_hours) ).to eq nil
   end
 
   it "parent_issue_id can clear" do
-    issue_ids = @issues_page.issue_ids_on_page
-    issue_new_page = @issues_page.open_new_page()
+    issue_ids = helper.page.issue_ids_on_page
+    issue_new_page = helper.page.open_new_page()
     issue_show_page = issue_new_page.create(:bug, 'first subject')
     new_issue_id = issue_show_page.id
-    @issues_page = issue_show_page.open_issues
+    helper.page = @issues_page = issue_show_page.open_issues
 
     new_value = @issue_id.to_s
-    expect( edit(new_issue_id, :parent_issue_id, new_value) ).to eq new_value.to_i
-
-    expect( clear(new_issue_id, :parent_issue_id) ).to eq nil
-  end
-
-  def edit(issue_id, attribute_name, new_value)
-    @issues_page.quick_edit_for_core_field issue_id, attribute_name, new_value
-
-    attribute_name = :parent if attribute_name.to_sym == :parent_issue_id
-    field_value = get_core_field(issue_id, attribute_name)
-    field_value = :none if field_value.nil?
-
-    if attribute_name == :parent
-      field_value["id"]
-    else
-      field_value
-    end
-  end
-
-  def clear(issue_id, attribute_name)
-    quick_edit = @issues_page.open_context(issue_id)
-    menu_selector = quick_edit.menu_selector(attribute_name)
-    @issues_page = quick_edit.clear_field(issue_id, menu_selector)
-
-    attribute_name = :parent if attribute_name.to_sym == :parent_issue_id
-    field_value = get_core_field(issue_id, attribute_name)
-  end
-
-  def get_core_field(issue_id, attribute_name)
-    json = get_json("issues/#{issue_id}.json")
+    helper.issue_id = new_issue_id
+    expect( helper.edit(:parent_issue_id, new_value) ).to eq new_value.to_i
 
-    json["issue"][attribute_name.to_s]
+    expect( helper.clear(:parent_issue_id) ).to eq nil
   end
 
-  def get_json(path)
-    uri = URI::parse "#{@base_url}#{path}"
-    res = Net::HTTP::get_response(uri)
-    JSON.parse(res.body)
-  end
 end
index d30cfdd..03ebfa7 100644 (file)
@@ -6,11 +6,13 @@ $: << File.expand_path('../../', __FILE__)
 require 'spec_helper'
 Dir[File.dirname(__FILE__) + '/pages/page.rb'].each {|file| require file }
 Dir[File.dirname(__FILE__) + '/pages/*.rb'].each {|file| require file }
+Dir[File.dirname(__FILE__) + '/helpers/*.rb'].each {|file| require file }
 require "uri"
 require "net/http"
 include RSpec::Expectations
 
 describe "Clear custom field" do
+  let(:helper) { TestHelper.new }
 
   before(:all) do
     profile = Selenium::WebDriver::Firefox::Profile.new
@@ -26,7 +28,10 @@ describe "Clear custom field" do
     # open issues
     start_page = QuickEdit::Test::Pages::StartPage.new(@driver, @base_url, @default_project)
     first_page = start_page.login @default_user, @default_password
-    @issues_page = first_page.open_issues
+    admin_info_page = first_page.open_admin_info
+    apikey_page = admin_info_page.open_my_apikey(admin_info_page.redmine_version)
+    @api_key = apikey_page.key
+    @issues_page = apikey_page.open_issues
 
     # get issue id for test
     @issue_id = @issues_page.issue_ids_on_page().first().to_i
@@ -41,6 +46,10 @@ describe "Clear custom field" do
     else
       @issues_page = @issues_page.open_issues
     end
+    helper.page = @issues_page
+    helper.base_url = @base_url
+    helper.issue_id = @issue_id
+    helper.api_key = @api_key
   end
   
   after(:each) do
@@ -53,37 +62,37 @@ describe "Clear custom field" do
   
   it "custom_text can clear" do
     new_value = 'dummy'
-    expect( edit_custom_field(@issue_id, :custom_text, new_value) ).to eq new_value
+    expect( helper.edit_custom_field(:custom_text, new_value) ).to eq new_value
 
-    expect( clear_custom_field(@issue_id, :custom_text) ).to eq ''
+    expect( helper.clear_custom_field(:custom_text) ).to eq ''
   end
 
   it "custom_int can clear" do
     new_value = '0'
-    expect( edit_custom_field(@issue_id, :custom_int, new_value) ).to eq new_value
+    expect( helper.edit_custom_field(:custom_int, new_value) ).to eq new_value
 
-    expect( clear_custom_field(@issue_id, :custom_int) ).to eq ''
+    expect( helper.clear_custom_field(:custom_int) ).to eq ''
   end
 
   it "custom_date can clear" do
     new_value = '1900-01-01'
-    expect( edit_custom_field(@issue_id, :custom_date, new_value) ).to eq new_value
+    expect( helper.edit_custom_field(:custom_date, new_value) ).to eq new_value
 
-    expect( clear_custom_field(@issue_id, :custom_date) ).to eq ''
+    expect( helper.clear_custom_field(:custom_date) ).to eq ''
   end
 
   it "custom_long can clear" do
     new_value = 'dummy'
-    expect( edit_custom_field(@issue_id, :custom_long, new_value) ).to eq new_value
+    expect( helper.edit_custom_field(:custom_long, new_value) ).to eq new_value
 
-    expect( clear_custom_field(@issue_id, :custom_long) ).to eq ''
+    expect( helper.clear_custom_field(:custom_long) ).to eq ''
   end
 
   it "custom_float can clear" do
     new_value = '0'
-    expect( edit_custom_field(@issue_id, :custom_float, new_value) ).to eq new_value
+    expect( helper.edit_custom_field(:custom_float, new_value) ).to eq new_value
 
-    expect( clear_custom_field(@issue_id, :custom_float) ).to eq ''
+    expect( helper.clear_custom_field(:custom_float) ).to eq ''
   end
 
   it "custom_link can clear" do
@@ -95,58 +104,10 @@ describe "Clear custom field" do
       @issues_page = admin_info_page.open_issues
   
       new_value = 'dummy'
-      expect( edit_custom_field(@issue_id, :custom_link, new_value) ).to eq new_value
+      expect( helper.edit_custom_field(:custom_link, new_value) ).to eq new_value
   
-      expect( clear_custom_field(@issue_id, :custom_link) ).to eq ''
+      expect( helper.clear_custom_field(:custom_link) ).to eq ''
     end
   end
-
-  def edit_custom_field(issue_id, custom_field_name, new_value)
-    cf = get_custom_field(issue_id, custom_field_name)
-    cf_id = cf["id"]
-
-    quick_edit = @issues_page.open_context(issue_id)
-    menu_selector = quick_edit.menu_selector(:custom_field, cf_id)
-    @issues_page = quick_edit.update_field(issue_id, menu_selector, new_value)
-
-    cf = get_custom_field(issue_id, custom_field_name)
-    cf["value"]
-  end
-
-  def clear_custom_field(issue_id, custom_field_name)
-    cf = get_custom_field(issue_id, custom_field_name)
-    cf_id = cf["id"]
-
-    quick_edit = @issues_page.open_context(issue_id)
-    menu_selector = quick_edit.menu_selector(:custom_field, cf_id)
-    @issues_page = quick_edit.clear_field(issue_id, menu_selector)
-    
-
-    cf = get_custom_field(issue_id, custom_field_name)
-    cf["value"]
-  end
-
-  def get_custom_field(issue_id, custom_field_name)
-    cf_hash_list = get_custom_fields(issue_id)
-
-    cf_hash = cf_hash_list.select do |cf_hash|
-      cf_hash["name"] == custom_field_name.to_s
-    end
-
-    cf_hash.first
-  end
-
-  def get_custom_fields(issue_id)
-    json = get_json("issues/#{issue_id}.json")
-
-    json["issue"]["custom_fields"]
-  end
-
-  def get_json(path)
-    uri = URI::parse "#{@base_url}#{path}"
-    res = Net::HTTP::get_response(uri)
-    JSON.parse(res.body)
-  end
-  
   
 end
index b862320..e291b22 100644 (file)
@@ -12,6 +12,7 @@ require "net/http"
 include RSpec::Expectations
 
 describe "Edit core field" do
+  let(:helper) { TestHelper.new }
 
   before(:all) do
     profile = Selenium::WebDriver::Firefox::Profile.new
@@ -38,6 +39,9 @@ describe "Edit core field" do
 
   before(:each) do
     @issues_page = @issues_page.open_issues
+    helper.page = @issues_page
+    helper.base_url = @base_url
+    helper.issue_id = @issue_id
   end
   
   after(:each) do
@@ -50,143 +54,99 @@ describe "Edit core field" do
   
   it "subject can edit" do
     new_value = 'dummy'
-    expect( edit(@issue_id, :subject, new_value) ).to eq new_value
+    expect( helper.edit(:subject, new_value) ).to eq new_value
 
     new_value = 'subject: new_value'
-    expect( edit(@issue_id, :subject, new_value) ).to eq new_value
+    expect( helper.edit(:subject, new_value) ).to eq new_value
 
-    expect( edit_with_alert(@issue_id, :subject, "") ).to eq new_value
+    expect( helper.edit_with_alert(:subject, "") ).to eq new_value
   end
 
   it "subject can edit with public notes" do
     new_value = {:value => 'subject: with_notes',
                  :notes => {:text => "notes\ntime=" + (Time.now.to_s), :is_private => false}}
-    expect( edit(@issue_id, :subject, new_value) ).to eq new_value[:value]
-    expect( latest_note(@issue_id, @issues_page.session_cookie) ).to eq new_value
+    expect( helper.edit( :subject, new_value) ).to eq new_value[:value]
+    expect( helper.latest_note ).to eq new_value
   end
 
   it "subject can edit with private notes" do
     new_value = {:value => 'subject: with_notes',
                  :notes => {:text => "notes\ntime=" + (Time.now.to_s), :is_private => true}}
-    expect( edit(@issue_id, :subject, new_value) ).to eq new_value[:value]
-    expect( latest_note(@issue_id, @issues_page.session_cookie) ).to eq new_value
+    expect( helper.edit( :subject, new_value) ).to eq new_value[:value]
+    expect( helper.latest_note ).to eq new_value
   end
 
   it "start_date can edit" do
     new_value = '1900-01-01'
-    expect( edit(@issue_id, :start_date, new_value) ).to eq new_value
+    expect( helper.edit( :start_date, new_value) ).to eq new_value
 
     new_value = '1900-01-02'
-    expect( edit(@issue_id, :start_date, new_value) ).to eq new_value
+    expect( helper.edit( :start_date, new_value) ).to eq new_value
 
     invalid_value = '1900-01-0a'
-    expect( edit_with_alert(@issue_id, :start_date, invalid_value) ).to eq new_value
+    expect( helper.edit_with_alert( :start_date, invalid_value) ).to eq new_value
 
     invalid_value = ''
-    expect( edit_with_alert(@issue_id, :start_date, invalid_value) ).to eq new_value
+    expect( helper.edit_with_alert( :start_date, invalid_value) ).to eq new_value
   end
 
   it "due_date can edit" do
     new_value = '2000-01-01'
-    expect( edit(@issue_id, :due_date, new_value) ).to eq new_value
+    expect( helper.edit( :due_date, new_value) ).to eq new_value
 
     new_value = '2000-01-02'
-    expect( edit(@issue_id, :due_date, new_value) ).to eq new_value
+    expect( helper.edit( :due_date, new_value) ).to eq new_value
 
     invalid_value = '2000-01-0a'
-    expect( edit_with_alert(@issue_id, :due_date, invalid_value) ).to eq new_value
+    expect( helper.edit_with_alert( :due_date, invalid_value) ).to eq new_value
 
     invalid_value = ''
-    expect( edit_with_alert(@issue_id, :due_date, invalid_value) ).to eq new_value
+    expect( helper.edit_with_alert( :due_date, invalid_value) ).to eq new_value
   end
 
   it "description can edit" do
     new_value = 'dummy'
-    expect( edit(@issue_id, :description, new_value) ).to eq new_value
+    expect( helper.edit( :description, new_value) ).to eq new_value
 
     new_value = 'description: new_value'
-    expect( edit(@issue_id, :description, new_value) ).to eq new_value
+    expect( helper.edit( :description, new_value) ).to eq new_value
 
-    expect( edit_with_alert(@issue_id, :description, "") ).to eq new_value
+    expect( helper.edit_with_alert( :description, "") ).to eq new_value
   end
 
   # unsigned float field
   it "estimated_hours can edit" do
     new_value = '0'
-    expect( edit(@issue_id, :estimated_hours, new_value).to_f ).to eq new_value.to_f
+    expect( helper.edit( :estimated_hours, new_value).to_f ).to eq new_value.to_f
 
     new_value = '0.1'
-    expect( edit(@issue_id, :estimated_hours, new_value).to_f ).to eq new_value.to_f
+    expect( helper.edit( :estimated_hours, new_value).to_f ).to eq new_value.to_f
 
     new_value = '+0.1'
-    expect( edit(@issue_id, :estimated_hours, new_value).to_f ).to eq new_value.to_f
+    expect( helper.edit( :estimated_hours, new_value).to_f ).to eq new_value.to_f
 
     new_value = '0.1e2'
-    expect( edit(@issue_id, :estimated_hours, new_value).to_f ).to eq new_value.to_f
+    expect( helper.edit( :estimated_hours, new_value).to_f ).to eq new_value.to_f
 
     invalid_value = ''
-    expect( edit_with_alert(@issue_id, :estimated_hours, invalid_value) ).to eq new_value.to_f
+    expect( helper.edit_with_alert( :estimated_hours, invalid_value) ).to eq new_value.to_f
   end
 
   it "parent_issue_id can edit" do
     issue_ids = @issues_page.issue_ids_on_page
     issue_new_page = @issues_page.open_new_page()
     issue_show_page = issue_new_page.create(:bug, 'first subject')
-    new_issue_id = issue_show_page.id
-    @issues_page = issue_show_page.open_issues
+    helper.issue_id = issue_show_page.id
+    helper.page = issue_show_page.open_issues
 
     new_value = @issue_id.to_s
-    expect( edit(new_issue_id, :parent_issue_id, new_value) ).to eq new_value.to_i
+    expect( helper.edit(:parent_issue_id, new_value) ).to eq new_value.to_i
 
     invalid_value = ''
-    expect( edit_with_alert(new_issue_id, :parent_issue_id, invalid_value) ).to eq new_value.to_i
+    expect( helper.edit_with_alert(:parent_issue_id, invalid_value) ).to eq new_value.to_i
 
     new_value = @issue_id.to_s
-    expect( edit(new_issue_id, :parent_issue_id, new_value) ).to eq new_value.to_i
+    expect( helper.edit(:parent_issue_id, new_value) ).to eq new_value.to_i
   end
 
-  def edit(issue_id, attribute_name, new_value)
-    quick_edit = @issues_page.open_context(issue_id)
-    menu_selector = quick_edit.menu_selector(attribute_name)
-    @issues_page = quick_edit.update_field(issue_id, menu_selector, new_value)
-
-    attribute_name = :parent if attribute_name.to_sym == :parent_issue_id
-    field_value = get_core_field(issue_id, attribute_name)
-
-    if attribute_name == :parent
-      field_value["id"]
-    else
-      field_value
-    end
-  end
-
-  def edit_with_alert(issue_id, attribute_name, new_value)
-    quick_edit = @issues_page.open_context(issue_id)
-    menu_selector = quick_edit.menu_selector(attribute_name)
-    quick_edit.update_field(issue_id, menu_selector, new_value, true)
-    quick_edit.alert.accept
-    quick_edit.cancel_quick_edit
-
-    attribute_name = :parent if attribute_name.to_sym == :parent_issue_id
-    field_value = get_core_field(issue_id, attribute_name)
-
-    if attribute_name == :parent
-      field_value["id"]
-    else
-      field_value
-    end
-  end
-
-  def get_core_field(issue_id, attribute_name)
-    json = get_json("issues/#{issue_id}.json")
-
-    json["issue"][attribute_name.to_s]
-  end
-
-  def get_json(path)
-    uri = URI::parse "#{@base_url}#{path}"
-    res = Net::HTTP::get_response(uri)
-    JSON.parse(res.body)
-  end
-  
 end
index a959133..a67191d 100644 (file)
@@ -6,11 +6,13 @@ $: << File.expand_path('../../', __FILE__)
 require 'spec_helper'
 Dir[File.dirname(__FILE__) + '/pages/page.rb'].each {|file| require file }
 Dir[File.dirname(__FILE__) + '/pages/*.rb'].each {|file| require file }
+Dir[File.dirname(__FILE__) + '/helpers/*.rb'].each {|file| require file }
 require "uri"
 require "net/http"
 include RSpec::Expectations
 
 describe "Edit custom field" do
+  let(:helper) { TestHelper.new }
 
   before(:all) do
     profile = Selenium::WebDriver::Firefox::Profile.new
@@ -26,7 +28,8 @@ describe "Edit custom field" do
     # open issues
     start_page = QuickEdit::Test::Pages::StartPage.new(@driver, @base_url, @default_project)
     first_page = start_page.login @default_user, @default_password
-    apikey_page = first_page.open_my_apikey
+    admin_info_page = first_page.open_admin_info
+    apikey_page = admin_info_page.open_my_apikey(admin_info_page.redmine_version)
     @api_key = apikey_page.key
     @issues_page = apikey_page.open_issues
 
@@ -43,6 +46,10 @@ describe "Edit custom field" do
     else
       @issues_page = @issues_page.open_issues
     end
+    helper.base_url = @base_url
+    helper.page = @issues_page
+    helper.issue_id = @issue_id
+    helper.api_key = @api_key
   end
   
   after(:each) do
@@ -55,165 +62,114 @@ describe "Edit custom field" do
   
   it "custom_text can edit" do
     new_value = 'dummy'
-    expect( edit_custom_field(@issue_id, :custom_text, new_value) ).to eq new_value
+    expect( helper.edit_custom_field(:custom_text, new_value) ).to eq new_value
 
     new_value = 'custom_text: new_value'
-    expect( edit_custom_field(@issue_id, :custom_text, new_value) ).to eq new_value
+    expect( helper.edit_custom_field(:custom_text, new_value) ).to eq new_value
 
     invalid_value = ''
-    expect( edit_custom_field_with_alert(@issue_id, :custom_text, invalid_value) ).to eq new_value
+    expect( helper.edit_custom_field_with_alert(:custom_text, invalid_value) ).to eq new_value
   end
 
   it "custom_int can edit" do
     new_value = '0'
-    expect( edit_custom_field(@issue_id, :custom_int, new_value) ).to eq new_value
+    expect( helper.edit_custom_field(:custom_int, new_value) ).to eq new_value
 
     new_value = '2147483647'
-    expect( edit_custom_field(@issue_id, :custom_int, new_value) ).to eq new_value
+    expect( helper.edit_custom_field(:custom_int, new_value) ).to eq new_value
 
     new_value = '+10'
-    expect( edit_custom_field(@issue_id, :custom_int, new_value).to_i ).to eq new_value.to_i
+    expect( helper.edit_custom_field(:custom_int, new_value).to_i ).to eq new_value.to_i
 
     new_value = '-10'
-    expect( edit_custom_field(@issue_id, :custom_int, new_value).to_i ).to eq new_value.to_i
+    expect( helper.edit_custom_field(:custom_int, new_value).to_i ).to eq new_value.to_i
 
     invalid_value = 'a'
-    expect( edit_custom_field_with_alert(@issue_id, :custom_int, invalid_value) ).to eq new_value
+    expect( helper.edit_custom_field_with_alert(:custom_int, invalid_value) ).to eq new_value
 
     invalid_value = ''
-    expect( edit_custom_field_with_alert(@issue_id, :custom_int, "") ).to eq new_value
+    expect( helper.edit_custom_field_with_alert(:custom_int, "") ).to eq new_value
   end
 
   it "custom_date can edit" do
     new_value = '1900-01-01'
-    expect( edit_custom_field(@issue_id, :custom_date, new_value) ).to eq new_value
+    expect( helper.edit_custom_field(:custom_date, new_value) ).to eq new_value
 
     new_value = '2015-01-01'
-    expect( edit_custom_field(@issue_id, :custom_date, new_value) ).to eq new_value
+    expect( helper.edit_custom_field(:custom_date, new_value) ).to eq new_value
 
     invalid_value = '2015-01-0a'
-    expect( edit_custom_field_with_alert(@issue_id, :custom_date, invalid_value) ).to eq new_value
+    expect( helper.edit_custom_field_with_alert(:custom_date, invalid_value) ).to eq new_value
 
     invalid_value = ''
-    expect( edit_custom_field_with_alert(@issue_id, :custom_date, invalid_value) ).to eq new_value
+    expect( helper.edit_custom_field_with_alert(:custom_date, invalid_value) ).to eq new_value
   end
 
   it "custom_long can edit" do
     new_value = 'dummy'
-    expect( edit_custom_field(@issue_id, :custom_long, new_value) ).to eq new_value
+    expect( helper.edit_custom_field(:custom_long, new_value) ).to eq new_value
 
     new_value = 'custom_long: new_value '
-    expect( edit_custom_field(@issue_id, :custom_long, new_value) ).to eq new_value
+    expect( helper.edit_custom_field(:custom_long, new_value) ).to eq new_value
 
     invalid_value = ''
-    expect( edit_custom_field_with_alert(@issue_id, :custom_long, invalid_value) ).to eq new_value
+    expect( helper.edit_custom_field_with_alert(:custom_long, invalid_value) ).to eq new_value
   end
 
   it "custom_float can edit" do
     new_value = '0'
-    expect( edit_custom_field(@issue_id, :custom_float, new_value) ).to eq new_value
+    expect( helper.edit_custom_field(:custom_float, new_value) ).to eq new_value
 
     new_value = '0.1'
-    expect( edit_custom_field(@issue_id, :custom_float, new_value).to_f ).to eq new_value.to_f
+    expect( helper.edit_custom_field(:custom_float, new_value).to_f ).to eq new_value.to_f
 
     new_value = '+0.1'
-    expect( edit_custom_field(@issue_id, :custom_float, new_value).to_f ).to eq new_value.to_f
+    expect( helper.edit_custom_field(:custom_float, new_value).to_f ).to eq new_value.to_f
 
     new_value = '-0.1'
-    expect( edit_custom_field(@issue_id, :custom_float, new_value).to_f ).to eq new_value.to_f
+    expect( helper.edit_custom_field(:custom_float, new_value).to_f ).to eq new_value.to_f
 
     new_value = '0.1e2'
-    expect( edit_custom_field(@issue_id, :custom_float, new_value).to_f ).to eq new_value.to_f
+    expect( helper.edit_custom_field(:custom_float, new_value).to_f ).to eq new_value.to_f
 
     new_value = '0.1e-2'
-    expect( edit_custom_field(@issue_id, :custom_float, new_value).to_f ).to eq new_value.to_f
+    expect( helper.edit_custom_field(:custom_float, new_value).to_f ).to eq new_value.to_f
 
     invalid_value = ''
-    expect( edit_custom_field_with_alert(@issue_id, :custom_float, invalid_value) ).to eq new_value
+    expect( helper.edit_custom_field_with_alert(:custom_float, invalid_value) ).to eq new_value
   end
 
   it "custom_link can edit" do
-    admin_info_page = @issues_page.open_admin_info
+    admin_info_page = helper.page.open_admin_info
     redmine_version = admin_info_page.redmine_version
 
 
     if redmine_version >= 205
 
-      @issues_page = admin_info_page.open_issues
+      helper.page = admin_info_page.open_issues
   
       new_value = 'dummy'
-      expect( edit_custom_field(@issue_id, :custom_link, new_value) ).to eq new_value
+      expect( helper.edit_custom_field(:custom_link, new_value) ).to eq new_value
   
       new_value = 'custom_link'
-      expect( edit_custom_field(@issue_id, :custom_link, new_value) ).to eq new_value
+      expect( helper.edit_custom_field(:custom_link, new_value) ).to eq new_value
   
       invalid_value = ''
-      expect( edit_custom_field_with_alert(@issue_id, :custom_link, invalid_value) ).to eq new_value
+      expect( helper.edit_custom_field_with_alert(:custom_link, invalid_value) ).to eq new_value
 
     end
   end
 
   it "readonly field can not edit" do
-    welcome_page = @issues_page.logout
+    welcome_page = helper.page.logout
     start_page = welcome_page.open_login
     first_page = start_page.login("dev1", "dummy")
-    @issues_page = first_page.open_issues
+    @issues_page = helper.page = first_page.open_issues
 
-    field_id = select_field(get_custom_field_defs(), :readonly_in_progress)["id"]
-    menu_item = @issues_page.find_quick_edit_menu_for_custom_field(@issue_id, field_id)
+    field_id = helper.select_field(helper.get_custom_field_defs(), :readonly_in_progress)["id"]
+    menu_item = helper.page.find_quick_edit_menu_for_custom_field(helper.issue_id, field_id)
 
     expect( menu_item.attribute("class") ).to eq "quick_edit icon-edit disabled"
   end
-
-  def edit_custom_field(issue_id, custom_field_name, new_value)
-    cf = select_field(get_custom_field_defs(), custom_field_name)
-    cf_id = cf["id"]
-
-    quick_edit = @issues_page.open_context(issue_id)
-    menu_selector = quick_edit.menu_selector(:custom_field, cf_id)
-    @issues_page = quick_edit.update_field(issue_id, menu_selector, new_value)
-
-    cf = select_field(get_custom_fields(issue_id), custom_field_name)
-    cf["value"]
-  end
-
-  def edit_custom_field_with_alert(issue_id, custom_field_name, new_value="")
-    cf = select_field(get_custom_field_defs(), custom_field_name)
-    cf_id = cf["id"]
-
-    quick_edit = @issues_page.open_context(issue_id)
-    menu_selector = quick_edit.menu_selector(:custom_field, cf_id)
-    quick_edit.update_field(issue_id, menu_selector, new_value, true)
-    quick_edit.alert.accept
-    quick_edit.cancel_quick_edit
-
-    cf = select_field(get_custom_fields(issue_id), custom_field_name)
-    cf["value"]
-  end
-
-  def select_field(fields, custom_field_name)
-    fields.find do |cf_hash|
-      cf_hash["name"] == custom_field_name.to_s
-    end
-  end
-
-  def get_custom_field_defs
-    json = get_json("/custom_fields.json?key=#{@api_key}")
-
-    json["custom_fields"]
-  end
-
-  def get_custom_fields(issue_id)
-    json = get_json("issues/#{issue_id}.json")
-
-    json["issue"]["custom_fields"]
-  end
-
-  def get_json(path)
-    uri = URI::parse "#{@base_url}#{path}"
-    res = Net::HTTP::get_response(uri)
-    JSON.parse(res.body)
-  end
-  
   
 end
index 6075f46..80e6d99 100644 (file)
@@ -13,6 +13,7 @@ require "net/http"
 include RSpec::Expectations
 
 describe "Edit on the mypage" do
+  let(:helper) { TestHelper.new }
 
   before(:all) do
     profile = Selenium::WebDriver::Firefox::Profile.new
@@ -40,6 +41,9 @@ describe "Edit on the mypage" do
 
   before(:each) do
     @my_page = @my_page.open_mypage
+    helper.page = @my_page
+    helper.base_url = @base_url
+    helper.issue_id = @issue_id
   end
   
   after(:each) do
@@ -52,79 +56,79 @@ describe "Edit on the mypage" do
   
   it "subject can edit" do
     new_value = 'dummy'
-    expect( edit(@issue_id, :subject, new_value) ).to eq new_value
+    expect( helper.edit(:subject, new_value) ).to eq new_value
 
     new_value = 'subject: new_value'
-    expect( edit(@issue_id, :subject, new_value) ).to eq new_value
+    expect( helper.edit(:subject, new_value) ).to eq new_value
 
-    expect( edit_with_alert(@issue_id, :subject, "") ).to eq new_value
+    expect( helper.edit_with_alert(:subject, "") ).to eq new_value
   end
 
   it "subject can edit with private note" do
     new_value = 'dummy'
-    expect( edit(@issue_id, :subject, new_value) ).to eq new_value
+    expect( helper.edit(:subject, new_value) ).to eq new_value
 
     new_value = {:value => 'subject: with_notes',
                  :notes => {:text => "notes\ntime=" + (Time.now.to_s), :is_private => true}}
-    expect( edit(@issue_id, :subject, new_value) ).to eq new_value[:value]
-    expect( latest_note(@issue_id, @my_page.session_cookie) ).to eq new_value
+    expect( helper.edit(:subject, new_value) ).to eq new_value[:value]
+    expect( helper.latest_note ).to eq new_value
   end
 
   it "start_date can edit" do
     new_value = '1900-01-01'
-    expect( edit(@issue_id, :start_date, new_value) ).to eq new_value
+    expect( helper.edit(:start_date, new_value) ).to eq new_value
 
     new_value = '1900-01-02'
-    expect( edit(@issue_id, :start_date, new_value) ).to eq new_value
+    expect( helper.edit(:start_date, new_value) ).to eq new_value
 
     invalid_value = '1900-01-0a'
-    expect( edit_with_alert(@issue_id, :start_date, invalid_value) ).to eq new_value
+    expect( helper.edit_with_alert(:start_date, invalid_value) ).to eq new_value
 
     invalid_value = ''
-    expect( edit_with_alert(@issue_id, :start_date, invalid_value) ).to eq new_value
+    expect( helper.edit_with_alert(:start_date, invalid_value) ).to eq new_value
   end
 
   it "due_date can edit" do
     new_value = '2000-01-01'
-    expect( edit(@issue_id, :due_date, new_value) ).to eq new_value
+    expect( helper.edit(:due_date, new_value) ).to eq new_value
 
     new_value = '2000-01-02'
-    expect( edit(@issue_id, :due_date, new_value) ).to eq new_value
+    expect( helper.edit(:due_date, new_value) ).to eq new_value
 
     invalid_value = '2000-01-0a'
-    expect( edit_with_alert(@issue_id, :due_date, invalid_value) ).to eq new_value
+    expect( helper.edit_with_alert(:due_date, invalid_value) ).to eq new_value
 
     invalid_value = ''
-    expect( edit_with_alert(@issue_id, :due_date, invalid_value) ).to eq new_value
+    expect( helper.edit_with_alert(:due_date, invalid_value) ).to eq new_value
   end
 
   it "description can edit" do
     new_value = 'dummy'
-    expect( edit(@issue_id, :description, new_value) ).to eq new_value
+    expect( helper.edit(:description, new_value) ).to eq new_value
 
     new_value = 'description: new_value'
-    expect( edit(@issue_id, :description, new_value) ).to eq new_value
+    expect( helper.edit(:description, new_value) ).to eq new_value
 
     invalid_value = ''
-    expect( edit_with_alert(@issue_id, :description, invalid_value) ).to eq new_value
+    expect( helper.edit_with_alert(:description, invalid_value) ).to eq new_value
   end
 
   # unsigned float field
   it "estimated_hours can edit" do
     new_value = '0'
-    expect( edit(@issue_id, :estimated_hours, new_value).to_f ).to eq new_value.to_f
+    expect( helper.edit(:estimated_hours, new_value).to_f ).to eq new_value.to_f
 
     new_value = '0.1'
-    expect( edit(@issue_id, :estimated_hours, new_value).to_f ).to eq new_value.to_f
+    expect( helper.edit(:estimated_hours, new_value).to_f ).to eq new_value.to_f
 
     new_value = '+0.1'
-    expect( edit(@issue_id, :estimated_hours, new_value).to_f ).to eq new_value.to_f
+    expect( helper.edit(:estimated_hours, new_value).to_f ).to eq new_value.to_f
 
     new_value = '0.1e2'
-    expect( edit(@issue_id, :estimated_hours, new_value).to_f ).to eq new_value.to_f
+    expect( helper.edit(:estimated_hours, new_value).to_f ).to eq new_value.to_f
 
     invalid_value = ''
-    expect( edit_with_alert(@issue_id, :estimated_hours, invalid_value) ).to eq new_value.to_f
+    expect( helper.edit_with_alert(:estimated_hours, invalid_value) ).to eq new_value.to_f
   end
 
   #it "parent_issue_id can edit" do
@@ -143,51 +147,5 @@ describe "Edit on the mypage" do
   #  new_value = @issue_id.to_s
   #  expect( edit(new_issue_id, :parent_issue_id, new_value) ).to eq new_value.to_i
   #end
-
-  def edit(issue_id, attribute_name, new_value)
-    quick_edit = @my_page.open_context(issue_id)
-    menu_selector = quick_edit.menu_selector(attribute_name)
-    @my_page = quick_edit.update_field(issue_id, menu_selector, new_value)
-
-    attribute_name = :parent if attribute_name.to_sym == :parent_issue_id
-    field_value = get_core_field(issue_id, attribute_name)
-
-    if attribute_name == :parent
-      field_value["id"]
-    else
-      field_value
-    end
-  end
-
-  def edit_with_alert(issue_id, attribute_name, new_value)
-    quick_edit = @my_page.open_context(issue_id)
-    menu_selector = quick_edit.menu_selector(attribute_name)
-    quick_edit.update_field issue_id, menu_selector, new_value, true
-    quick_edit.alert.accept
-    quick_edit.cancel_quick_edit
-    @my_page = quick_edit.open_mypage
-
-    attribute_name = :parent if attribute_name.to_sym == :parent_issue_id
-    field_value = get_core_field(issue_id, attribute_name)
-
-    if attribute_name == :parent
-      field_value["id"]
-    else
-      field_value
-    end
-  end
-
-  def get_core_field(issue_id, attribute_name)
-    json = get_json("issues/#{issue_id}.json")
-
-    json["issue"][attribute_name.to_s]
-  end
-
-  def get_json(path)
-    uri = URI::parse "#{@base_url}#{path}"
-    res = Net::HTTP::get_response(uri)
-    JSON.parse(res.body)
-  end
-  
   
 end
diff --git a/test/selenium/helpers/issue_helper.rb b/test/selenium/helpers/issue_helper.rb
deleted file mode 100644 (file)
index 7b66c58..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-
-# coding: utf-8
-
-require "nokogiri"
-require "uri"
-require "net/http"
-
-  def latest_note(issue_id, session_cookie)
-    result = {:value => nil, :notes => {:text => nil, :is_private => nil}}
-
-    feed = get_feed("issues/#{issue_id}.atom", session_cookie).css("entry")
-    feed_limitted = get_feed("issues/#{issue_id}.atom").css("entry")
-
-    entry = feed.pop
-    entry_limitted = feed_limitted.pop
-
-    parsed_entry = parse_feed_entry(entry)
-    parsed_entry_limitted = parse_feed_entry(entry_limitted)
-    #p "parsed_entry---"
-    #p parsed_entry.inspect
-    #p "parsed_entry_for_guest---"
-    #p parsed_entry_limitted.inspect
-
-    # private notes?
-    if parsed_entry[:notes][:journal_id].to_s != parsed_entry_limitted[:notes][:journal_id].to_s
-      result[:notes][:is_private] = true
-    else
-      result[:notes][:is_private] = false
-    end
-
-    # The <entry> was splitted if notes is private.
-    if result[:notes][:is_private]
-      result[:value] = parsed_entry_limitted[:value]
-      result[:notes][:text] = parsed_entry[:notes][:text]
-    else
-      result[:value] = parsed_entry[:value]
-      result[:notes][:text] = parsed_entry[:notes][:text]
-    end
-
-    result
-  end
-
-  def parse_feed_entry(entry)
-    result = {:value => nil, :notes => {:journal_id => nil, :text => nil, :is_private => nil}}
-
-    # parse <id>
-    result[:notes][:journal_id] = entry.css("id").text
-
-    # parse <content>
-    src = entry.css("content").text
-    #p "content=" + src
-    html = Nokogiri::HTML(src)
-
-    # get change field from <content>
-    # - attension - one field only.
-    unless html.css("li").empty?
-      change_desc = html.css("li").first
-      #p "li=" + change_desc.inner_html
-
-      field_name = change_desc.css("strong").first.text
-      if change_desc.css("i").length == 2
-        result[:value] = change_desc.css("i").last.text
-      else
-        result[:value] = :none
-      end
-    end
-
-    # get notes from <content>
-    # - attension - not support wiki format
-    #p "inner html=" + html.inner_html
-    notes = Nokogiri::HTML(html.inner_html).css("p").inner_html.gsub(/<br>/, "\n")
-    #p "text=" + notes
-    result[:notes][:text] = notes
-
-    result
-  end
-  
-  def get_feed(path, session_cookie=nil)
-    uri = URI::parse "#{@base_url}#{path}"
-    if session_cookie.nil?
-      headers = {}
-    else
-      headers = {'Cookie' => cookie_hash_to_header_string(session_cookie)}
-    end
-    res = Net::HTTP.start(uri.host, uri.port) do |http|
-      http.get(uri.path, headers)
-    end
-    src = res.body.gsub(/<content type="html">/, "<content>") # To avoid erroneous decisions made by Nokogiri
-    Nokogiri::Slop(src)
-  end
-
-  def cookie_hash_to_header_string(cookie)
-    "#{cookie[:name]}=#{cookie[:value]};path=#{cookie[:path]}"
-  end
index 1dc93c3..972ee77 100644 (file)
@@ -4,19 +4,36 @@ module QuickEdit
   module Test
     module Pages
       class MyApiKeyPage < Page
-        def initialize(driver, base_url, project)
+        def initialize(driver, base_url, project, redmine_version)
           super(driver, base_url, project)
+          @redmine_version = redmine_version
 
-          find_element :css, "body[class='controller-my action-show_api_key']"
+          if @redmine_version >= 301
+            find_element :css, "body[class='controller-my action-show_api_key']"
+          else
+            find_element :css, "body[class='controller-my action-account']"
+          end
         end
 
-        def self.open(driver, base_url, project)
-          driver.get "#{base_url}/my/api_key"
-          MyApiKeyPage.new driver, base_url, project
+        def self.open(driver, base_url, project, redmine_version)
+          if redmine_version >= 301
+            driver.get "#{base_url}/my/api_key"
+            MyApiKeyPage.new driver, base_url, project, redmine_version
+          else
+            driver.get "#{base_url}/my/account"
+            MyApiKeyPage.new driver, base_url, project, redmine_version
+          end
         end
 
         def key
-          find_element(:css, "div.box > pre").text
+          if @redmine_version >= 301
+            find_element(:css, "div.box > pre").text
+          else
+            find_elements(:css, 'a[href="#"]').select do |e|
+              e.text == "Show"
+            end.first.click
+            find_element(:css, "pre#api-access-key").text
+          end
         end
       end
     end
index 361f76d..836f58d 100644 (file)
@@ -86,8 +86,8 @@ module QuickEdit
           @driver.switch_to.alert
         end
 
-        def open_my_apikey
-          MyApiKeyPage.open @driver, @base_url, @project
+        def open_my_apikey(redmine_version)
+          MyApiKeyPage.open @driver, @base_url, @project, redmine_version
         end
 
         def open_admin_info
index 3b59a30..73d7f77 100644 (file)
@@ -40,11 +40,15 @@ module QuickEdit
           @before_page.class.open @driver, @base_url, @project unless desire_alerting
         end
 
-        def clear_field(issue_id, menu_selector)
+        def clear_field(issue_id, menu_selector, notes)
           menu_element = find_element(:id, "quick_edit_context")
           menu_item_element = find_element(:css, menu_selector)
           action.move_to(menu_element).click(menu_item_element).perform
 
+          if notes.is_a?(Hash)
+            input_text :id, "notes_for_edit", notes[:text] unless notes.nil?
+            click :id, "issue_private_notes_for_edit" if notes[:is_private]
+          end
           find_element(:css, '#quick_edit_input_dialog #clear').click
 
           buttons = find_elements(:css, "button > span")
index 950e3f9..bfe2127 100644 (file)
@@ -12,6 +12,7 @@ require "net/http"
 include RSpec::Expectations
 
 describe "Replace core field" do
+  let(:helper) { TestHelper.new }
 
   before(:all) do
     profile = Selenium::WebDriver::Firefox::Profile.new
@@ -38,6 +39,9 @@ describe "Replace core field" do
 
   before(:each) do
     @issues_page = @issues_page.open_issues
+    helper.page = @issues_page
+    helper.base_url = @base_url
+    helper.issue_id = @issue_id
   end
   
   after(:each) do
@@ -55,7 +59,7 @@ describe "Replace core field" do
       :replace => 'NEW',
       :match_case => false
     }
-    expect( replace(@issue_id, :subject, params) ).to eq new_value
+    expect( helper.replace(:subject, params) ).to eq new_value
 
     # match case test: to lower
     new_value = 'new text'
@@ -64,7 +68,7 @@ describe "Replace core field" do
       :replace => 'new',
       :match_case => true
     }
-    expect( replace(@issue_id, :subject, params) ).to eq new_value
+    expect( helper.replace(:subject, params) ).to eq new_value
 
     # special chars test
     new_value = "new<>\'\"&\\+ %text"
@@ -73,7 +77,7 @@ describe "Replace core field" do
       :replace => "<>\'\"&\\+ %",
       :match_case => false
     }
-    expect( replace(@issue_id, :subject, params) ).to eq new_value
+    expect( helper.replace(:subject, params) ).to eq new_value
 
     # escape test for meta character of regexp pattern
     new_value = "new<>\'\"&\\++ %text"
@@ -82,20 +86,20 @@ describe "Replace core field" do
       :replace => "\\+",
       :match_case => false
     }
-    expect( replace(@issue_id, :subject, params) ).to eq new_value
+    expect( helper.replace(:subject, params) ).to eq new_value
 
     params = {
       :find => '',
       :replace => '',
       :match_case => false
     }
-    expect( replace_with_alert(@issue_id, :subject, params) ).to eq new_value
+    expect( helper.replace_with_alert(:subject, params) ).to eq new_value
   end
 
   it "subject can replace with private note" do
     # initialize
     new_value = 'dummy'
-    edit(@issue_id, :subject, new_value)
+    helper.edit(:subject, new_value)
 
     # find & replace
     new_value = {:value => 'summy',
@@ -104,68 +108,8 @@ describe "Replace core field" do
              :replace => 's',
              :match_case => false,
              :notes => new_value[:notes]}
-    expect( replace(@issue_id, :subject, params) ).to eq new_value[:value]
-    expect( latest_note(@issue_id, @issues_page.session_cookie) ).to eq new_value
+    expect( helper.replace(:subject, params) ).to eq new_value[:value]
+    expect( helper.latest_note ).to eq new_value
   end
-
-  def edit(issue_id, attribute_name, new_value)
-    quick_edit = @issues_page.open_context(issue_id)
-    menu_selector = quick_edit.menu_selector(attribute_name)
-    @issues_page = quick_edit.update_field(issue_id, menu_selector, new_value)
-
-    attribute_name = :parent if attribute_name.to_sym == :parent_issue_id
-    field_value = get_core_field(issue_id, attribute_name)
-
-    if attribute_name == :parent
-      field_value["id"]
-    else
-      field_value
-    end
-  end
-
-  def replace(issue_id, attribute_name, params)
-    quick_edit = @issues_page.open_context(issue_id)
-    menu_selector = quick_edit.menu_selector(attribute_name)
-    @issues_page = quick_edit.replace(issue_id, menu_selector, params)
-
-    attribute_name = :parent if attribute_name.to_sym == :parent_issue_id
-    field_value = get_core_field(issue_id, attribute_name)
-
-    if attribute_name == :parent
-      field_value["id"]
-    else
-      field_value
-    end
-  end
-
-  def replace_with_alert(issue_id, attribute_name, params)
-    quick_edit = @issues_page.open_context(issue_id)
-    menu_selector = quick_edit.menu_selector(attribute_name)
-    quick_edit.replace(issue_id, menu_selector, params, true)
-    quick_edit.alert.accept
-    quick_edit.cancel_quick_edit
-
-    attribute_name = :parent if attribute_name.to_sym == :parent_issue_id
-    field_value = get_core_field(issue_id, attribute_name)
-
-    if attribute_name == :parent
-      field_value["id"]
-    else
-      field_value
-    end
-  end
-
-  def get_core_field(issue_id, attribute_name)
-    json = get_json("issues/#{issue_id}.json")
-
-    json["issue"][attribute_name.to_s]
-  end
-
-  def get_json(path)
-    uri = URI::parse "#{@base_url}#{path}"
-    res = Net::HTTP::get_response(uri)
-    JSON.parse(res.body)
-  end
-  
   
 end
index 6543be9..0e6217e 100644 (file)
@@ -2,7 +2,6 @@
 
 require "json"
 require "selenium-webdriver"
-$: << File.expand_path('../../', __FILE__)
 require 'spec_helper'
 Dir[File.dirname(__FILE__) + '/pages/page.rb'].each {|file| require file }
 Dir[File.dirname(__FILE__) + '/pages/*.rb'].each {|file| require file }
@@ -12,6 +11,7 @@ require "net/http"
 include RSpec::Expectations
 
 describe "Replace core field" do
+  let(:helper) { TestHelper.new }
 
   before(:all) do
     profile = Selenium::WebDriver::Firefox::Profile.new
@@ -38,6 +38,9 @@ describe "Replace core field" do
 
   before(:each) do
     @issues_page = @issues_page.open_mypage
+    helper.page = @issues_page
+    helper.base_url = @base_url
+    helper.issue_id = @issue_id
   end
   
   after(:each) do
@@ -54,26 +57,26 @@ describe "Replace core field" do
       :find => 'initial',
       :replace => 'new'
     }
-    expect( replace(@issue_id, :subject, params) ).to eq new_value
+    expect( helper.replace(:subject, params) ).to eq new_value
 
     new_value = "new<>\'\"&+% text"
     params = {
       :find => ' ',
       :replace => "<>\'\"&+% "
     }
-    expect( replace(@issue_id, :subject, params) ).to eq new_value
+    expect( helper.replace(:subject, params) ).to eq new_value
 
     params = {
       :find => '',
       :replace => ''
     }
-    expect( replace_with_alert(@issue_id, :subject, params) ).to eq new_value
+    expect( helper.replace_with_alert(:subject, params) ).to eq new_value
   end
 
   it "subject can replace with private note" do
     # initialize
     new_value = 'dummy'
-    edit(@issue_id, :subject, new_value)
+    helper.edit(:subject, new_value)
 
     # find & replace
     new_value = {:value => 'summy',
@@ -82,68 +85,8 @@ describe "Replace core field" do
              :replace => 's',
              :match_case => false,
              :notes => new_value[:notes]}
-    expect( replace(@issue_id, :subject, param) ).to eq new_value[:value]
-    expect( latest_note(@issue_id, @issues_page.session_cookie) ).to eq new_value
+    expect( helper.replace(:subject, param) ).to eq new_value[:value]
+    expect( helper.latest_note ).to eq new_value
   end
 
-  def edit(issue_id, attribute_name, new_value)
-    quick_edit = @issues_page.open_context(issue_id)
-    menu_selector = quick_edit.menu_selector(attribute_name)
-    @issues_page = quick_edit.update_field(issue_id, menu_selector, new_value)
-
-    attribute_name = :parent if attribute_name.to_sym == :parent_issue_id
-    field_value = get_core_field(issue_id, attribute_name)
-
-    if attribute_name == :parent
-      field_value["id"]
-    else
-      field_value
-    end
-  end
-
-  def replace(issue_id, attribute_name, params)
-    quick_edit = @issues_page.open_context(issue_id)
-    menu_selector = quick_edit.menu_selector(attribute_name)
-    @issues_page = quick_edit.replace(issue_id, menu_selector, params, false)
-
-    attribute_name = :parent if attribute_name.to_sym == :parent_issue_id
-    field_value = get_core_field(issue_id, attribute_name)
-
-    if attribute_name == :parent
-      field_value["id"]
-    else
-      field_value
-    end
-  end
-
-  def replace_with_alert(issue_id, attribute_name, params)
-    quick_edit = @issues_page.open_context(issue_id)
-    menu_selector = quick_edit.menu_selector(attribute_name)
-    quick_edit.replace(issue_id, menu_selector, params, true)
-    quick_edit.alert.accept
-    quick_edit.cancel_quick_edit
-
-    attribute_name = :parent if attribute_name.to_sym == :parent_issue_id
-    field_value = get_core_field(issue_id, attribute_name)
-
-    if attribute_name == :parent
-      field_value["id"]
-    else
-      field_value
-    end
-  end
-
-  def get_core_field(issue_id, attribute_name)
-    json = get_json("issues/#{issue_id}.json")
-
-    json["issue"][attribute_name.to_s]
-  end
-
-  def get_json(path)
-    uri = URI::parse "#{@base_url}#{path}"
-    res = Net::HTTP::get_response(uri)
-    JSON.parse(res.body)
-  end
-  
-  
 end