Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to Update an Attribute in Testing Model Using RSpec

I'm trapped on one spec in RSpec. How can I update a model's attribute to make it nil? Is better to validate under update controller spec?

Below is a sample code.

describe User do
  describe ".validation" do
    before(:each) do
      @user = User.create!({
        :username => "dexter_morgan"
      })
    end

    ...

    context "given invalid attributes" do
      # how can I make the username nil?
      it "rejects blank username"
    end
  end
end
like image 470
Ben Avatar asked Feb 03 '26 14:02

Ben


1 Answers

This should be enough?

describe User do
  describe ".validation" do
    before(:each) do
      @user = User.create!({
        :username => "dexter_morgan"
      })
    end

    ...

    context "given invalid attributes" do
      it "rejects blank username" do
        @user.username = nil
        @user.should_not be_valid
      end
    end
  end
end
like image 184
d11wtq Avatar answered Feb 06 '26 04:02

d11wtq