From 5531eb089ee807a9b5c6ae4c283436036955e26e Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Tue, 8 Sep 2015 14:03:06 +0200 Subject: [PATCH] AutoCommit Die Sep 8 14:03:06 CEST 2015 --- app/mailers/news_mailer.rb | 4 +-- app/views/news_mailer/neuigkeit_mail.html.erb | 2 +- spec/factories/neuigkeit.rb | 7 +++++ spec/factories/rubrik.rb | 6 ++++ spec/mailers/news_mailer_spec.rb | 28 +++++++++++++++++++ 5 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 spec/factories/neuigkeit.rb create mode 100644 spec/factories/rubrik.rb diff --git a/app/mailers/news_mailer.rb b/app/mailers/news_mailer.rb index bfb3b1a..86ee2be 100644 --- a/app/mailers/news_mailer.rb +++ b/app/mailers/news_mailer.rb @@ -9,11 +9,11 @@ class NewsMailer < ActionMailer::Base @user=User.first @ability=Ability.new(@user) subject = @neuigkeit.title - subject = subject + " email: " + email if Rails.env=="development" + subject = subject.to_s + " email: " + email.to_s if Rails.env=="development" email = "andis@fet.at" if Rails.env=="development" email="andis@fet.at" mail(to: email, subject: subject) -render locals: {current_user: User.first} + render locals: {current_user: User.first} end def daily_newsletter(user_id) user=User.find(user_id) diff --git a/app/views/news_mailer/neuigkeit_mail.html.erb b/app/views/news_mailer/neuigkeit_mail.html.erb index b66792b..b1c2da5 100644 --- a/app/views/news_mailer/neuigkeit_mail.html.erb +++ b/app/views/news_mailer/neuigkeit_mail.html.erb @@ -4,7 +4,7 @@

<%= @neuigkeit.title%>

-<%= content_tag(:img,"",src: "http://"+ActionMailer::Base.default_url_options[:host].to_s+@neuigkeit.picture.big_thumb.url) %> +<%= content_tag(:img,"",src: "http://"+ActionMailer::Base.default_url_options[:host].to_s+@neuigkeit.picture.big_thumb.url.to_s) %> <%=url_for controller: "neuigkeiten",action: :show, :id=>@neuigkeit.id, only_path: false %> <%= raw(@neuigkeit.text) %> <% @neuigkeit.questions.each do |q| %> diff --git a/spec/factories/neuigkeit.rb b/spec/factories/neuigkeit.rb new file mode 100644 index 0000000..e6e3bba --- /dev/null +++ b/spec/factories/neuigkeit.rb @@ -0,0 +1,7 @@ +FactoryGirl.define do + factory :neuigkeit do + title "WIChtige Neuigkeit" + text "

Das ist eine wichtige Information

" + datum 1.days.ago + end +end diff --git a/spec/factories/rubrik.rb b/spec/factories/rubrik.rb new file mode 100644 index 0000000..b390be5 --- /dev/null +++ b/spec/factories/rubrik.rb @@ -0,0 +1,6 @@ +FactoryGirl.define do + factory :rubrik do + name "Allgemeine" + desc "Allgemeine Test News" + end +end diff --git a/spec/mailers/news_mailer_spec.rb b/spec/mailers/news_mailer_spec.rb index 205f934..a123f83 100644 --- a/spec/mailers/news_mailer_spec.rb +++ b/spec/mailers/news_mailer_spec.rb @@ -1,5 +1,33 @@ require "spec_helper" describe NewsMailer do +include Rails.application.routes.url_helpers pending "add some examples to (or delete) #{__FILE__}" + describe 'neuigkeit_mail' do + before(:each) do + + rubrik = FactoryGirl.create(:rubrik) + @neuigkeit=FactoryGirl.create(:neuigkeit, author_id: user.id, rubrik_id: rubrik.id) + NewsMailer.stub(:default_url_options).and_return({host:"localhost", port: 3000}) + end + let(:user) {User.first || FactoryGirl.create(:user)} + let(:email) {"test@mail.com"} + let(:neuigkeit) {@neuigkeit} + + let(:mail) {NewsMailer.neuigkeit_mail(email.to_s, neuigkeit.id)} + it "renders neuigkeit title" do + expect(mail.body.to_s).to match(/#{@neuigkeit.title}/) + end + it "renders neuigkeit expect" do + expect(mail.body.to_s).to match(/#{@neuigkeit.text}/) + end + it "is sent to current user" do + expect(mail.to).to eq([user.email]) + end + it "links to web page" do + expect(mail.body.to_s).to match(/#{neuigkeit_url(@neuigkeit, locale: nil, theme: nil, host:"localhost", port: 3000)}/) + + end + + end end