diff --git a/app/assets/javascripts/app/views/feedback_view.js b/app/assets/javascripts/app/views/feedback_view.js index 9046356b3..12dfc2a10 100644 --- a/app/assets/javascripts/app/views/feedback_view.js +++ b/app/assets/javascripts/app/views/feedback_view.js @@ -39,7 +39,11 @@ app.views.Feedback = app.views.Base.extend({ reshare.save({}, { url: this.model.createReshareUrl, success : function(resp){ - app.stream && app.stream.add(reshare); + var flash = new Diaspora.Widgets.FlashMessages; + flash.render({ + success: true, + notice: Diaspora.I18n.t("reshares.successful") + }); model.trigger("interacted") } }); diff --git a/config/locales/javascript/javascript.en.yml b/config/locales/javascript/javascript.en.yml index a04f3e186..5f40d3194 100644 --- a/config/locales/javascript/javascript.en.yml +++ b/config/locales/javascript/javascript.en.yml @@ -60,6 +60,7 @@ en: hide: "hide comments" reshares: duplicate: "That good, huh? You've already reshared that post!" + successful: "The post was successfully reshared!" aspect_navigation: select_all: "Select all" deselect_all: "Deselect all" diff --git a/features/reshare.feature b/features/reshare.feature index 9fdbf8e2f..34e5548e6 100644 --- a/features/reshare.feature +++ b/features/reshare.feature @@ -18,9 +18,5 @@ Feature: public repost And I preemptively confirm the alert And I follow "Reshare" And I wait for the ajax to finish - And I wait for 2 seconds - - When I am on "alice@alice.alice"'s page - Then I should see "reshare this!" - Then I should see a ".reshare" - And I should see "Bob" + Then I should see a flash message indicating success + And I should see a flash message containing "successfully" diff --git a/features/step_definitions/custom_web_steps.rb b/features/step_definitions/custom_web_steps.rb index 519fbae7c..781b3674e 100644 --- a/features/step_definitions/custom_web_steps.rb +++ b/features/step_definitions/custom_web_steps.rb @@ -204,3 +204,15 @@ end Then /^I should not see ajax loader on deletion link place$/ do page.evaluate_script("$('.hide_loader').first().css('display')").should == "none" end + +Then /^I should see a flash message indicating success$/ do + flash_message_success? +end + +Then /^I should see a flash message indicating failure$/ do + flash_message_failure? +end + +Then /^I should see a flash message containing "(.+)"$/ do |text| + flash_message_containing? text +end diff --git a/features/support/application_cuke_helpers.rb b/features/support/application_cuke_helpers.rb new file mode 100644 index 000000000..35297987c --- /dev/null +++ b/features/support/application_cuke_helpers.rb @@ -0,0 +1,20 @@ +module ApplicationCukeHelpers + def flash_message_success? + flash_message("notice").visible? + end + + def flash_message_failure? + flash_message("error").visible? + end + + def flash_message_containing?(text) + flash_message.should have_content(text) + end + + def flash_message(selector=".message") + selector = "#flash_#{selector}" unless selector == ".message" + find(selector) + end +end + +World(ApplicationCukeHelpers)