Module: StandardAPI::TestCase
- Defined in:
- lib/standard_api/test_case.rb,
lib/standard_api/test_case/show_tests.rb,
lib/standard_api/test_case/index_tests.rb,
lib/standard_api/test_case/create_tests.rb,
lib/standard_api/test_case/update_tests.rb,
lib/standard_api/test_case/destroy_tests.rb,
lib/standard_api/test_case/calculate_tests.rb
Defined Under Namespace
Modules: CalculateTests, ClassMethods, CreateTests, DestroyTests, IndexTests, ShowTests, UpdateTests
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.included(klass) ⇒ Object
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# 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
|
Instance Method Details
#create_model(attrs = {}) ⇒ Object
36
37
38
|
# File 'lib/standard_api/test_case.rb', line 36
def create_model(attrs={})
create(model.name.underscore, attrs)
end
|
#create_webmocks(attributes) ⇒ Object
48
49
50
51
52
|
# 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 ⇒ Object
32
33
34
|
# File 'lib/standard_api/test_case.rb', line 32
def model
self.class.model
end
|
#normalize_attribute(attribute, value) ⇒ Object
54
55
56
57
|
# 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) ⇒ Object
59
60
61
62
63
64
65
66
67
68
69
70
71
|
# 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 ⇒ Object
44
45
46
|
# File 'lib/standard_api/test_case.rb', line 44
def plural_name
model.model_name.plural
end
|
#singular_name ⇒ Object
40
41
42
|
# File 'lib/standard_api/test_case.rb', line 40
def singular_name
model.model_name.singular
end
|