Skip to main content

RSPEC TESTCASES FOR MODEL VALIDATIONS IN RAILS

describe User do
   before(:each) do
    @user_new = { :name => "chinna",:email => "chinna@yopmail.com",:password => "chinnaram",:password_confirmation => "chinnaram"}
   end
it "should create a new user details" do
     @user_attr = User.create!(@user_new)
end

##validations in your model ###########
User.rb(your model your mention like that....)
validates :name,:email,:presence => true
validates :name,:uniqueness => true
validates_attachment_content_type :image, :content_type => ['image/jpeg', 'image/png','image/pjpeg','image/x-png','image/gif']


###validation for name presence

it "should require a name" do
     user = User.new(@user_attr.merge(:name => ""))
     user.should_not be_valid
  end

#validation for email presence

 it "should require a email" do
     user = User.new(@user_attr.merge(:email => ""))
     user.should_not be_valid
  end

#validation for name uniqueness
 it "should require a unique name" do
     user = User.create!(@user_attr)
     user_new1 = User.new(@user_attr.merge(:name => "chinna"))
     user_new1.should_not be_valid
  end

# validation for image  attchement

   it { should have_attached_file(:image) }
  it {
       should validate_attachment_content_type(:image).
        allowing('image/jpeg','image/png','image/pjpeg','image/x-png','image/gif')
       }
end

Comments

Popular posts from this blog

Create dynamic sitemap on ruby on rails

Sitemaps are an easy way for webmasters to inform search engines about pages on their sites that are available for crawling. In its simplest form, a Sitemap is an XML file that lists URLs for a site along with additional metadata about each URL (when it was last updated, how often it usually changes, and how important it is, relative to other URLs in the site) so that search engines can more intelligently crawl the site. It’s basically a XML file describing all URLs in your page: The following example shows a Sitemap that contains just one URL and uses all optional tags. The optional tags are in italics. <?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">    <url>       <loc>http://www.example.com/</loc>       <lastmod>2005-01-01</lastmod>       <changefreq>monthly</changefreq>     ...

Omniauth Linked in Ruby On Rails

def get_linkedin_user_data      omniauth = request.env["omniauth.auth"]      dat=omniauth.extra.raw_info      linked_app_key = "xxxxxxx"      linkedin_secret_key = "yyyyyyy"      client = LinkedIn::Client.new(linked_app_key,linkedin_secret_key)      client.authorize_from_access(omniauth['credentials']['token'],omniauth['credentials']['secret'])      connections=client.connections(:fields => ["id", "first-name", "last-name","picture-url"])      uid=omniauth['uid']      token=omniauth["credentials"]["token"]      secret=omniauth["credentials"]["secret"]   #linked user data     omniauth = request.env["omniauth.auth"]      data             = omniauth.info      user_name...

Error malloc(): memory corruption nginx with passenger?

Error malloc(): memory corruption nginx with passenger Passenger issue resolving steps :  sudo gem uninstall passenger(uninstall all passenger) sudo gem install passenger sudo passenger-install-nginx-module --auto --auto-download --prefix=/opt/nginx --extra-configure-flags=none Update nginx config file with new passenger version and restart the nginx