mirror of
https://github.com/Growstuff/growstuff.git
synced 2026-04-30 11:57:07 -04:00
Made admin/newsletter page with list of subscribers
This commit is contained in:
@@ -5,4 +5,12 @@ class AdminController < ApplicationController
|
||||
format.html # index.html.haml
|
||||
end
|
||||
end
|
||||
|
||||
def newsletter
|
||||
authorize! :manage, :all
|
||||
@members = Member.confirmed.wants_newsletter.all
|
||||
respond_to do |format|
|
||||
format.html # index.html.haml
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
%li= link_to "Products", products_path
|
||||
%li= link_to "Roles", roles_path
|
||||
%li= link_to "Forums", forums_path
|
||||
%li= link_to "Newsletter subscribers", admin_newsletter_path
|
||||
|
||||
%h2 Orders
|
||||
|
||||
|
||||
6
app/views/admin/newsletter.html.haml
Normal file
6
app/views/admin/newsletter.html.haml
Normal file
@@ -0,0 +1,6 @@
|
||||
-content_for :title, 'Newsletter subscribers'
|
||||
|
||||
%p
|
||||
- @members.each do |m|
|
||||
= m.email
|
||||
%br/
|
||||
@@ -117,6 +117,7 @@ Growstuff::Application.routes.draw do
|
||||
match '/admin/orders' => 'admin/orders#index'
|
||||
match '/admin/orders/:action' => 'admin/orders#:action'
|
||||
match '/admin' => 'admin#index'
|
||||
match '/admin/newsletter' => 'admin#newsletter', :as => :admin_newsletter
|
||||
match '/admin/:action' => 'admin#:action'
|
||||
|
||||
end
|
||||
|
||||
@@ -2,4 +2,19 @@ require 'spec_helper'
|
||||
|
||||
describe AdminController do
|
||||
|
||||
login_member(:admin_member)
|
||||
|
||||
describe "GET admin/newsletter" do
|
||||
it 'fetches the admin newsletter page' do
|
||||
get :newsletter
|
||||
response.should be_success
|
||||
response.should render_template("admin/newsletter")
|
||||
end
|
||||
|
||||
it 'assigns @members' do
|
||||
m = FactoryGirl.create(:newsletter_recipient_member)
|
||||
get :newsletter
|
||||
assigns(:members).should eq [m]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -14,4 +14,8 @@ describe 'admin/index.html.haml', :type => "view" do
|
||||
assert_select "a", :href => roles_path
|
||||
assert_select "a", :href => forums_path
|
||||
end
|
||||
|
||||
it "has a link to newsletter subscribers" do
|
||||
rendered.should contain "Newsletter subscribers"
|
||||
end
|
||||
end
|
||||
|
||||
16
spec/views/admin/newsletter_spec.rb
Normal file
16
spec/views/admin/newsletter_spec.rb
Normal file
@@ -0,0 +1,16 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe 'admin/newsletter.html.haml', :type => "view" do
|
||||
before(:each) do
|
||||
@member = FactoryGirl.create(:admin_member)
|
||||
sign_in @member
|
||||
controller.stub(:current_user) { @member }
|
||||
@subscriber = FactoryGirl.create(:newsletter_recipient_member)
|
||||
assign(:members, [@subscriber])
|
||||
render
|
||||
end
|
||||
|
||||
it "lists newsletter subscribers by email" do
|
||||
rendered.should contain @subscriber.email
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user