With rails 4, I have this test for one controller:
class Merchant::RegistrationsControllerTest < ActionController::TestCase
test "should create new registration" do
user = FactoryGirl.build(:merchant_user)
#rest of the test using user as input for the controler
end
test "should not create new registration" do
user = FactoryGirl.build(:merchant_user)
#rest of the test using user as input for the controler
endend
And this other test for other controller:
class FrontStore::RegistrationsControllerTest < ActionController::TestCase
test "should create new registration" do
user = FactoryGirl.build(:front_store_user)
#rest of the test using user as input for the controler
end
test "should not create new registration" do
user = FactoryGirl.build(:front_store_user)
#rest of the test using user as input for the controler
endend
As you can see, Is violation of the DRY principle, because my tests are the
same, but using a different fixture.
As a note, both controllers inherits from the
ApplicationRegistrationsController, that implements all the behaviour to
both Merchant::RegistrationsController and
FrontStore::RegistrationsController.
I want to run both test for each of the role (Merchant or FrontStore) but
not repeating the test code.
My question is, how best design the test so they are reusable in this case?
--
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To view this discussion on the web visit
https://groups.google.com/d/msgid/rubyonrails-talk/079cd09f-59a9-4fa7-98bb-71d6069d33c7%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.