|
23 | 23 | opts ||= {}
|
24 | 24 | default_value = opts[:default]
|
25 | 25 | alias_setting = opts[:alias_with]
|
26 |
| - query_method = "#{accessor}?".to_sym |
| 26 | + predicate_method = "#{accessor}?".to_sym |
27 | 27 | command_method = "#{accessor}=".to_sym
|
28 | 28 |
|
29 |
| - specify "`##{query_method}` is `#{default_value.inspect}` by default" do |
30 |
| - expect(config.send(query_method)).to be(default_value) |
| 29 | + specify "`##{accessor}` is `#{default_value.inspect}` by default" do |
| 30 | + expect(config.send(accessor)).to eq default_value |
| 31 | + end |
| 32 | + |
| 33 | + specify "`##{predicate_method}` is `#{!!default_value}` by default" do |
| 34 | + expect(config.send(predicate_method)).to be !!default_value |
| 35 | + end |
| 36 | + |
| 37 | + specify "`##{predicate_method}` is `#{!!default_value}` by default" do |
| 38 | + expect(config.send(predicate_method)).to be !!default_value |
31 | 39 | end
|
32 | 40 |
|
33 | 41 | describe "`##{command_method}`" do
|
34 |
| - it "changes `#{query_method}` to the provided value" do |
| 42 | + it "changes `#{predicate_method}` to the true for a truthy value" do |
| 43 | + config.send(command_method, nil) |
| 44 | + expect(config.send(predicate_method)).to be false |
35 | 45 | expect {
|
36 | 46 | config.send(command_method, :a_value)
|
37 |
| - }.to change { config.send(query_method) }.to(:a_value) |
| 47 | + }.to change { config.send(predicate_method) }.to(true) |
38 | 48 | end
|
39 | 49 |
|
40 | 50 | it "sets `#{accessor}` to the provided value" do
|
|
72 | 82 |
|
73 | 83 | include_examples "adds setting", :rendering_views
|
74 | 84 |
|
75 |
| - specify "`#render_views?` is falsey by default" do |
76 |
| - expect(config.render_views?).to be_falsey |
| 85 | + specify "`#render_views?` is false by default" do |
| 86 | + expect(config.render_views?).to be false |
77 | 87 | end
|
78 | 88 |
|
79 | 89 | specify "`#render_views` sets `render_views?` to `true`" do
|
|
83 | 93 | end
|
84 | 94 |
|
85 | 95 | describe "`#render_views=`" do
|
86 |
| - it "sets `render_views?` to the provided value" do |
87 |
| - expect { |
88 |
| - config.render_views = false |
89 |
| - }.to change { config.render_views? }.from(nil).to(false) |
90 |
| - end |
91 |
| - |
92 |
| - it "sets `render_views` to the provided value" do |
| 96 | + it "sets `render_views?` to the truthyness of the provided value" do |
93 | 97 | expect {
|
94 | 98 | config.render_views = :a_value
|
95 |
| - }.to change { config.render_views? }.to(:a_value) |
| 99 | + }.to change { config.render_views? }.from(false).to(true) |
| 100 | + # this is repeated to put the value back to false |
| 101 | + expect { |
| 102 | + config.render_views = false |
| 103 | + }.to change { config.render_views? }.from(true).to(false) |
96 | 104 | end
|
97 | 105 | end
|
98 | 106 | end
|
|
0 commit comments