diff --git a/app/models/issue.rb b/app/models/issue.rb index d3d7bb6..2ca8420 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -7,6 +7,16 @@ class Issue end def save + unless body + errors.add :base, "The issue has no body" + return false + end + + unless title + errors.add :base, "The issue has no title" + return false + end + if issue_tracker issue_tracker.tracker.errors.each do |k, err| errors.add k, err diff --git a/spec/models/issue_spec.rb b/spec/models/issue_spec.rb index 1fd3f9e..726d28a 100644 --- a/spec/models/issue_spec.rb +++ b/spec/models/issue_spec.rb @@ -28,15 +28,35 @@ describe Issue, type: 'model' do end context "when has no title" do + let(:title) { nil } let(:body) { "barrr" } - pending "returns an error" + context "#save" do + it "returns false" do + expect(issue.save).to be false + end + + it "returns an error" do + issue.save + expect(errors).to include("The issue has no title") + end + end end context "when has no body" do let(:title) { "Foo" } + let(:body) { nil } - pending "returns an error" + context "#save" do + it "returns false" do + expect(issue.save).to be false + end + + it "returns an error" do + issue.save + expect(errors).to include("The issue has no body") + end + end end context "when app has a issue tracker" do -- libgit2 0.21.2