Displaying 20 results from an estimated 30000 matches similar to: "Testing record creation independently of implementation"
2007 Jun 11
2
Testing create in Rails controller
Hi All
So I am a first-time caller ;-) ... and have been trying to apply
RSpec to the depot example in Dave Thomas'' book as I build the
application.
I am having a problem testing the admin controller create method and
cannot quite see where I am going wrong so was hoping for a pointer :-)
My spec looks like:
describe AdminController do
before(:each) do
@product =
2010 Jul 29
1
Testing controller and action with parameters
I have an action and I am testing it like this:
The action:
==========
def create
@event = Evento.new(params[:event])
@event.aproved = false
if @event.save
redirect_to :action => "index"
else
render :action => "new"
end
end
The RSpec test:
==============
before do
@event = mock_model(Event)
2011 Jul 27
3
Rspec with ActionMailer and .deliver
I''m in the process of migrating from Rails 2 with rspec 1 to Rails 3 with
rspec 2, the process has been going pretty well, however, today I came
across an issue that I wanted to share.
I have a controller that sends out an email through a mailer.
Rails 2
code: CurriculumCommentMailer.deliver_comment_update(@curriculum_comment,
"created")
Rails 3 code:
2007 Jun 03
3
should_receive.again
Hi,
It appears that if I have 2 should_receives in a row, the latest one
overrides the previous one(s).
If there isn''t one, could we add a way to accumulate them, such as
@thing.should_receive(:method).and_return(@value)
@thing.should_receive(:method).again.and_return(@value)
@thing.should_receive(:method).again.and_return(@value)
would be equivalent to
2007 Nov 01
2
Writing controller specs
One thing that is bothering me about my controller specs is that
sometimes I end up with a number of examples that are the same except
for the example name.
The reason that this happens is that I''ve expressed all the expected
behavior with should_receive. While this does more or less work as
intended it doesn''t feel right.
As an example, let''s say I''m writing
2008 Jan 13
2
should_receive twice and arguments
Hi all, I have a method calling Klass.create! two times with different
arguments (this happens in a class reponsable for reading in a csv file)
I want to test those like this:
in one test: Klass.should_receive(:create!).with(:name => "foo").once
in another: Klass.should_receive(:create!).with(:name => "foo2").once
This doesn''t work because the
2007 Feb 07
3
odd mock behavior
I''m seeing some odd behavior around the should_receive() when given a
block combined with some cardinality.
For example, with the following...
my_mock.should_receive(:foo).twice do |i|
puts i
end
... the spec passes but i never gets puts''ed.
With the following...
my_mock.should_receive(:foo) do |i|
puts i
end
... i gets puts''ed twice but the spec fails because
2007 Jan 24
2
A spec where interaction-based testing breaks down... (at least for now)
Here are the specs:
context "Finding all the stylesheets available to a company" do
setup do
@mock_company = mock("company")
@mock_company.stub!(:to_param).and_return "1"
Stylesheet.stub!(:find)
end
def do_find
Stylesheet.find_available_to @mock_company
end
specify "should convert the company into a parameter" do
2006 Dec 21
1
need some guidance with a test
This is part of a rails project. The following method is part of the Ams
class (a rails model). I''m a bit unsure of the rspec/bdd way of testing this
method.
def persist_as_domains
@current_domains.each do |d|
dom = Domain.new
dom.domain = d
dom.source_id = 1
dom.at = Time.now
dom.save
end
end
The following is what came out when I tried to write my test. Notice
2007 Oct 01
0
View Spec - Misbehaving
I''m trying to write my first view spec; I''ve done some controller specs with
integrated views, but thought that isolating the views for some of these
tests might be nice.
So I wrote this:
> describe PlayerContainer, "show" do
>
> PARENT_ID = 12
> CHILD_NAME = ''Child Name''
> PARENT_NAME = ''Parent Name''
>
>
2008 Mar 08
3
should_receive(:foo).with(any_object)
Hey,
I just ran into a situation where I would like to expect a method call
with an argument I know and another one, which is a random number. I
think mocking up the rand method is somehow ugly so I thought maybe
this is the first time where I can take something from Java to Ruby ;)
Java''s EasyMock mocking library knows things like "anyObject()" and
"anyInteger()" in
2007 Sep 30
9
Problems with testing nested routes using mocking
Hello forum
I have there to files
#----- virtual_host_controller.rb
class VirtualHostsController < ApplicationController
before_filter :capture_domain
# GET /domain/1/virtual_hosts/1
def show
@virtual_host = @domain.virtual_hosts.find(params[:id])
respond_to do |format|
format.html # show.rhtml
end
end
private
def capture_domain
if
2006 Oct 23
6
overriding mock expectations
There is one annoyance I''m encountering with the Mock API in rSpec.
Overall it works well, as far as dynamic mocks go ;)... but there''s
this one thing... It doesn''t allow overriding of expectations.
example:
m = mock("blah")
m.should_receive(:one).any_number_of_times().and_return(1)
m.should_receive(:one).and_return(1)
The second call to should_receive
2007 Jul 24
2
Mocking Resolv::DNS?
Hello Rspecers,
I have a rails project where I am calling Resolv::DNS.open and then
using the block to check a domain name.
The code snippet in question is:
domain = "mytest.com"
Resolv::DNS.open do |dns|
@mx = dns.getresources(domain, Resolv::DNS::Resource::IN::MX)
end
I obviously want to stub this out, especially for speed but can''t
quite work out how.
I
2007 Aug 17
4
should_receive, used in the wrong place?
What do you guys think of this: if someone calls should_receive
outside of an "it" block, it warns you.
before(:each) do
@foo = Foo.new
@foo.should_receive(:monkeys)
end
would warn you that you''re setting an expectation in the wrong place,
and that "stub" is correct when setting up objects.
Opinions?
courtenay
2008 Mar 14
2
Multiple should_receive(:render).with
I''m trying to specify that a particular view must render two different partials.
My spec looks like:
describe AClass do
it do
template.should_receive(:render).with(:partial => ''foo'', :locals => { ... })
...
end
describe ''some conditional case'' do
it do
template.should_receive(:render).with(:partial =>
2012 Feb 23
2
testing around_save
I''ve just upgraded to Rails 3.2.1 and I can''t get my specs checking
whether or not around_save work anymore.
I simply did something like:
object.should_receive :around_filter_name
object.save.should be_true
(Actually, it was slightly more complex, it''s part of a state machine)
2006 Nov 10
2
mock syntax order
I have the following statement
mock_requester.should_receive(:request_with).with
("x").any_number_of_times.and_return(@object)
which works fine, but when i do it backwards, which makes the same
amount of sense syntactically, it fails
mock_requester.should_receive(:request_with).with("x").and_return
(@object).any_number_of_times
are all of the mock options
2007 Jun 14
1
rspec will_paginate
Hi Rspec-Users,
I''m not sure if I am correctly specing my index since I''m using
will_paginate.
params[:filter_by] will filter the paginate list accordingly.
Tickets Controller:
def index
@tickets = Ticket.filter_status_by(params[:filter_by],params[:page])
end
Ticket Model:
def self.filter_status_by(status, page, per_page = 10)
conditions = {:status => false} if
2008 May 23
4
Is there an equivalent to anything() for Hash parameters?
Hi -- is there an equivalent to the anything() method to use with Hash
parameters?
So that the following call:
Model.find( :all, :conditions => "name LIKE ''%rt%''", :order => ''name''
)
Could have the two following successful examples:
Model.should_receive( :find ).with( :all, { :conditions => "name LIKE
''%rt%", anything }