I have got a class, that is the base of some other classes that specializes the behavior:
class Task < ActiveRecord::Base
attr_accessible :type, :name, :command
validates_presence_of :type, :name, :command
# some methods I would like to test
end
The class CounterTask inherits from Task
class CounterTask < Task
end
This all works fine until I am trying to test the base class, since it must have a type.
FactoryGirl.define do
factory :task do
sequence(:name) { |n| "name_#{n}" }
sequence(:command) { |n| "command_#{n}" }
end
end
How would you test the basic functionality of the superclass?
You can declare the definitions of factories as follow:
FactoryGirl.define do
factory :task, class: 'Task' do
shop
currency
value 10
end
factory :counter_task, parent: :task, class: 'CounterTask' do
end
end
And now you can test base class isolated from its own factory and the same for each inherited class.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With