knowncitizen
12/5/2012 - 3:35 PM

password_resets_controller_spec.rb

  describe "POST create" do
    before (:each) do
      @params = {:username => @testuser_username, :email => @testuser_email}

      User.stub!(:find_by_username_and_email!).and_return(@testuser)
      @testuser.stub!(:send_password_reset)

      controller.stub!(:render).and_return("") #ignore missing js partial
    end

    it "should send an email with password reset details" do
      @testuser.should_receive(:send_password_reset)
      post :create, @params
      response.should be_success
    end

    it "should generate a notice to inform user of email sent" do
      controller.should notify.success
      post :create, @params
      response.should be_success
    end

    it_should_behave_like "bad request"  do
      let(:req) do
        bad_req = @params
        bad_req[:bad_foo] = "mwahaha"
        post :create, bad_req
      end
    end
  end