Commit 0ab40a693b73db02686fa0f96b2ffa1c4d611192
1 parent
ad298154
Exists in
master
and in
1 other branch
Add resolved/unresolved scopes on Err
Showing
2 changed files
with
25 additions
and
2 deletions
Show diff stats
app/models/err.rb
... | ... | @@ -7,16 +7,19 @@ class Err |
7 | 7 | field :component |
8 | 8 | field :action |
9 | 9 | field :environment |
10 | - field :resolved, :type => Boolean | |
10 | + field :resolved, :type => Boolean, :default => false | |
11 | 11 | |
12 | 12 | referenced_in :project |
13 | 13 | embeds_many :notices |
14 | 14 | |
15 | 15 | validates_presence_of :klass, :environment |
16 | 16 | |
17 | + scope :resolved, where(:resolved => true) | |
18 | + scope :unresolved, where(:resolved => false) | |
19 | + | |
17 | 20 | def self.for(attrs) |
18 | 21 | project = attrs.delete(:project) |
19 | - project.errs.where(attrs).first || project.errs.create(attrs) | |
22 | + project.errs.unresolved.where(attrs).first || project.errs.create(attrs) | |
20 | 23 | end |
21 | 24 | |
22 | 25 | def resolve! | ... | ... |
spec/models/err_spec.rb
... | ... | @@ -74,4 +74,24 @@ describe Err do |
74 | 74 | end |
75 | 75 | end |
76 | 76 | |
77 | + context "Scopes" do | |
78 | + context "resolved" do | |
79 | + it 'only finds resolved Errors' do | |
80 | + resolved = Factory(:err, :resolved => true) | |
81 | + unresolved = Factory(:err, :resolved => false) | |
82 | + Err.resolved.all.should include(resolved) | |
83 | + Err.resolved.all.should_not include(unresolved) | |
84 | + end | |
85 | + end | |
86 | + | |
87 | + context "unresolved" do | |
88 | + it 'only finds unresolved Errors' do | |
89 | + resolved = Factory(:err, :resolved => true) | |
90 | + unresolved = Factory(:err, :resolved => false) | |
91 | + Err.unresolved.all.should_not include(resolved) | |
92 | + Err.unresolved.all.should include(unresolved) | |
93 | + end | |
94 | + end | |
95 | + end | |
96 | + | |
77 | 97 | end |
78 | 98 | \ No newline at end of file | ... | ... |