module StandardAPI::TestCase
Public Class Methods
included(klass)
click to toggle source
# File lib/standard_api/test_case.rb, line 12 def self.included(klass) model_class_name = klass.controller_class.name.gsub(/Controller$/, '').singularize [:filters, :orders, :includes].each do |attribute| klass.send(:class_attribute, attribute) end if defined?(model_class_name.constantize) model_class = model_class_name.constantize klass.send(:filters=, model_class.attribute_names) klass.send(:orders=, model_class.attribute_names) klass.send(:includes=, model_class.reflect_on_all_associations.map(&:name)) end klass.extend(ClassMethods) klass.controller_class.action_methods.each do |action| klass.include("StandardAPI::TestCase::#{action.capitalize}Tests".constantize) end end
Public Instance Methods
create_model(attrs={})
click to toggle source
# File lib/standard_api/test_case.rb, line 36 def create_model(attrs={}) create(model.name.underscore, attrs) end
create_webmocks(attributes)
click to toggle source
# File lib/standard_api/test_case.rb, line 48 def create_webmocks(attributes) attributes.each do |attribute, value| validators = self.class.model.validators_on(attribute) end end
model()
click to toggle source
# File lib/standard_api/test_case.rb, line 32 def model self.class.model end
normalize_attribute(attribute, value)
click to toggle source
# File lib/standard_api/test_case.rb, line 54 def normalize_attribute(attribute, value) validators = self.class.model.validators_on(attribute) value end
normalize_to_json(attribute, value)
click to toggle source
# File lib/standard_api/test_case.rb, line 59 def normalize_to_json(attribute, value) value = normalize_attribute(attribute, value) return nil if value.nil? if model.column_types[attribute].is_a?(ActiveRecord::ConnectionAdapters::PostgreSQL::OID::Decimal) "#{value}" elsif model.column_types[attribute].is_a?(ActiveRecord::AttributeMethods::TimeZoneConversion::TimeZoneConverter) value.to_datetime.utc.iso8601.gsub(/\+00:00$/, 'Z') else value end end
plural_name()
click to toggle source
# File lib/standard_api/test_case.rb, line 44 def plural_name model.model_name.plural end
singular_name()
click to toggle source
# File lib/standard_api/test_case.rb, line 40 def singular_name model.model_name.singular end