@@ -14,7 +14,11 @@ def persisted?
14
14
end
15
15
16
16
def column_for_attribute ( *)
17
- Struct . new ( :sql_type ) . new ( @column_sql_type )
17
+ if @column_sql_type . is_a? ( Symbol )
18
+ Struct . new ( :type ) . new ( @column_sql_type )
19
+ else
20
+ Struct . new ( :sql_type ) . new ( @column_sql_type )
21
+ end
18
22
end
19
23
20
24
def has_attribute? ( *)
@@ -34,35 +38,39 @@ def test
34
38
end
35
39
36
40
context 'when the database column is a datetime' do
37
- let ( :object ) { DateTimeModel . new ( 'datetime' ) }
38
- it 'displays the text field' do
39
- expect ( rendered ) . to have_tag ( 'div.form-group.bootstrap_date_time' ) do
40
- with_tag ( 'input.bootstrap_date_time' , with : { value : object . test } )
41
+ [ 'datetime' , :datetime ] . each do |type |
42
+ let ( :object ) { DateTimeModel . new ( type ) }
43
+ it 'displays the text field' do
44
+ expect ( rendered ) . to have_tag ( 'div.form-group.bootstrap_date_time' ) do
45
+ with_tag ( 'input.bootstrap_date_time' , with : { value : object . test } )
46
+ end
41
47
end
42
- end
43
48
44
- it 'has a hidden datepicker control' do
45
- selector = 'div.form-group.bootstrap_date_time div.input-group'
46
- required_style = { style : 'display: none' }
49
+ it 'has a hidden datepicker control' do
50
+ selector = 'div.form-group.bootstrap_date_time div.input-group'
51
+ required_style = { style : 'display: none' }
47
52
48
- expect ( rendered ) . to have_tag ( selector , with : required_style ) do
49
- with_tag ( 'input.bootstrap_date_time' , with : { type : 'hidden' } )
53
+ expect ( rendered ) . to have_tag ( selector , with : required_style ) do
54
+ with_tag ( 'input.bootstrap_date_time' , with : { type : 'hidden' } )
55
+ end
50
56
end
51
57
end
52
58
end
53
59
54
60
context 'when the database column is a date' do
55
- let ( :object ) { DateTimeModel . new ( 'date' ) }
56
- it 'displays the text field' do
57
- expect ( rendered ) . to have_tag ( 'div.form-group.bootstrap_date' ) do
58
- with_tag ( 'input.bootstrap_date' , with : { value : object . test } )
61
+ [ 'date' , :date ] . each do |type |
62
+ let ( :object ) { DateTimeModel . new ( type ) }
63
+ it 'displays the text field' do
64
+ expect ( rendered ) . to have_tag ( 'div.form-group.bootstrap_date' ) do
65
+ with_tag ( 'input.bootstrap_date' , with : { value : object . test } )
66
+ end
59
67
end
60
68
end
61
69
end
62
70
63
71
context 'when the database column is not a datetime' do
64
72
let ( :object ) { DateTimeModel . new ( 'string' ) }
65
- it 'does not have a datepicker control' do
73
+ it 'does not have a datepicker control' do
66
74
expect ( rendered ) . not_to have_tag ( 'div.form-group.bootstrap_date_time' )
67
75
end
68
76
end
0 commit comments