Created
March 24, 2011 19:26
-
-
Save gmgent/885676 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require File.dirname(__FILE__) + '/../test_helper' | |
require "reports_controller" | |
include AuthSys | |
class ReportsControllerTest < ActionController::TestCase | |
def setup | |
@u_admin_gmg = new_test_user(:role => roles(:admin), :partner => partners(:gmg)) | |
@account = new_test_account | |
@inbound = Inbound.create(:account => @account, :file_name => "test.csv", :run_code => @runcode) | |
@retailer = new_test_retailer | |
password_authentication(@u_admin_gmg.login, @u_admin_gmg.password) | |
end | |
test "post dashboard with current_user" do | |
@sale = fake_sale(:inbound => @inbound, :serial_number => 99999, | |
:item_date => (Date.today - 1.day).strftime("%Y-%m-%d"), | |
:amount => 99, :rec_type => "Sales", :was_redeemed => true, | |
:retailer => @retailer ) | |
@sale2 = fake_sale(:inbound => @inbound, :serial_number => 99999, | |
:item_date => (Date.today - 2.day).strftime("%Y-%m-%d"), | |
:amount => 77, :rec_type => "Sales", :was_redeemed => true, | |
:retailer => @retailer ) | |
from_date = "#{(Date.today - 2.day).strftime('%B')} #{@sale2.item_date.split("-")[2]}, #{@sale.item_date.split("-")[0]}" | |
to_date = "#{(Date.today - 1.day).strftime('%B')} #{@sale.item_date.split("-")[2]}, #{@sale.item_date.split("-")[0]}" | |
post :dashboard, :connect => {"zone"=>"xx", "select"=>"0", "state"=>"xx"}, | |
:rtype=>"Sales - Daily", | |
:from_date => from_date, | |
:to_date => to_date | |
assert_response :success | |
assert @response.body.scan("$176.00 Total Sales for GMG").first | |
assert_nil @response.body.scan("$333.33 Total Sales for GMG").first | |
post :dashboard, :connect => {"zone"=>"xx", "select"=>"0", "state"=>"xx"}, | |
:rtype=>"Sales by Retailer", | |
:from_date => from_date, | |
:to_date => to_date | |
assert_response :success | |
assert @response.body.scan("$176.00 Total Sales by Retailer for GMG").first | |
assert_nil @response.body.scan("$333.33 Total Sales by Retailer for GMG").first | |
post :dashboard, :connect => {"zone"=>"xx", "select"=>"0", "state"=>"xx"}, | |
:rtype=>"Sales by Denomination", | |
:from_date => from_date, | |
:to_date => to_date | |
assert_response :success | |
assert @response.body.scan("$176.00 Total Sales by Denomination for GMG").first | |
assert_nil @response.body.scan("$333.33 Total Sales by Denomination for GMG").first | |
post :dashboard, :connect => {"zone"=>"xx", "select"=>"0", "state"=>"xx"}, | |
:rtype=>"Redemptions", | |
:from_date => from_date, | |
:to_date => to_date | |
assert_response :success | |
assert @response.body.scan("$176.00 Total Sales for GMG").first | |
assert_nil @response.body.scan("$333.33 Total Sales for GMG").first | |
#make sure $176 dollars lies within the redeemed html fragment | |
found_string = @response.body.scan(/(<table class="denom">)(\s{0,})(.{0,})(\s{0,})(.{0,})/) | |
assert found_string | |
assert found_string.to_s.scan("$176.00").first | |
post :dashboard, :connect => {"zone"=>"xx", "select"=>"0", "state"=>"xx"}, | |
:rtype=>"Sales by Partner", | |
:from_date => from_date, | |
:to_date => to_date | |
assert_response :success | |
assert @response.body.scan("$176.00 Total Sales by Partner for GMG").first | |
assert_nil @response.body.scan("$333.33 Total Sales by Partner for GMG").first | |
end | |
test "post regional with current_user" do | |
@sale = fake_sale(:inbound => @inbound, :serial_number => 99999, | |
:item_date => (Date.today - 1.day).strftime("%Y-%m-%d"), | |
:amount => 99, :rec_type => "Sales", :was_redeemed => true, | |
:retailer => @retailer ) | |
@sale2 = fake_sale(:inbound => @inbound, :serial_number => 99999, | |
:item_date => (Date.today - 2.day).strftime("%Y-%m-%d"), | |
:amount => 77, :rec_type => "Sales", :was_redeemed => true, | |
:retailer => @retailer ) | |
from_date = "#{(Date.today - 2.day).strftime('%B')} #{@sale2.item_date.split("-")[2]}, #{@sale.item_date.split("-")[0]}" | |
to_date = "#{(Date.today - 1.day).strftime('%B')} #{@sale.item_date.split("-")[2]}, #{@sale.item_date.split("-")[0]}" | |
post :regional, :connect => {:select=>"0"}, | |
:rtype=>"state - units", | |
:from_date => from_date, | |
:to_date => to_date | |
assert_response :success | |
assert @response.body.scan("2 additional sales online or unmapped.").first | |
assert_nil @response.body.scan("0 additional sales online or unmapped.").first | |
post :regional, :connect => {:select=>"0"}, | |
:rtype=>"state - dollar", | |
:from_date => from_date, | |
:to_date => to_date | |
assert_response :success | |
assert @response.body.scan("$176 additional sales online or unmapped.").first | |
assert_nil @response.body.scan("0 additional sales online or unmapped.").first | |
end | |
test "post dashboard with current_user assert nil for promo" do | |
@sale = fake_sale(:inbound => @inbound, :serial_number => 99999, | |
:item_date => (Date.today - 1.day).strftime("%Y-%m-%d"), | |
:amount => 99, :rec_type => "Promo", :was_redeemed => true, | |
:retailer => @retailer ) | |
@sale2 = fake_sale(:inbound => @inbound, :serial_number => 99999, | |
:item_date => (Date.today - 2.day).strftime("%Y-%m-%d"), | |
:amount => 77, :rec_type => "Promo", :was_redeemed => true, | |
:retailer => @retailer ) | |
from_date = "#{(Date.today - 2.day).strftime('%B')} #{@sale2.item_date.split("-")[2]}, #{@sale.item_date.split("-")[0]}" | |
to_date = "#{(Date.today - 1.day).strftime('%B')} #{@sale.item_date.split("-")[2]}, #{@sale.item_date.split("-")[0]}" | |
post :dashboard, :connect => {"zone"=>"xx", "select"=>"0", "state"=>"xx"}, | |
:rtype=>"Sales - Daily", | |
:from_date => from_date, | |
:to_date => to_date | |
assert_response :success | |
assert_nil @response.body.scan("$176.00 Total Sales for GMG").first | |
post :dashboard, :connect => {"zone"=>"xx", "select"=>"0", "state"=>"xx"}, | |
:rtype=>"Sales by Retailer", | |
:from_date => from_date, | |
:to_date => to_date | |
assert_response :success | |
assert_nil @response.body.scan("$176.00 Total Sales by Retailer for GMG").first | |
post :dashboard, :connect => {"zone"=>"xx", "select"=>"0", "state"=>"xx"}, | |
:rtype=>"Sales by Denomination", | |
:from_date => from_date, | |
:to_date => to_date | |
assert_response :success | |
assert_nil @response.body.scan("$176.00 Total Sales by Denomination for GMG").first | |
post :dashboard, :connect => {"zone"=>"xx", "select"=>"0", "state"=>"xx"}, | |
:rtype=>"Redemptions", | |
:from_date => from_date, | |
:to_date => to_date | |
assert_response :success | |
assert_nil @response.body.scan("$176.00 Total Sales for GMG").first | |
#make sure $176 dollars does not lie within the redeemed html fragment | |
found_string = @response.body.scan(/(<table class="denom">)(\s{0,})(.{0,})(\s{0,})(.{0,})/) | |
assert found_string | |
assert_nil found_string.to_s.scan("$176.00").first | |
post :dashboard, :connect => {"zone"=>"xx", "select"=>"0", "state"=>"xx"}, | |
:rtype=>"Sales by Partner", | |
:from_date => from_date, | |
:to_date => to_date | |
assert_response :success | |
assert_nil @response.body.scan("$176.00 Total Sales by Partner for GMG").first | |
end | |
test "post regional with current_user assert nil for promo" do | |
@sale = fake_sale(:inbound => @inbound, :serial_number => 99999, | |
:item_date => (Date.today - 1.day).strftime("%Y-%m-%d"), | |
:amount => 99, :rec_type => "Promo", :was_redeemed => true, | |
:retailer => @retailer ) | |
@sale2 = fake_sale(:inbound => @inbound, :serial_number => 99999, | |
:item_date => (Date.today - 2.day).strftime("%Y-%m-%d"), | |
:amount => 77, :rec_type => "Promo", :was_redeemed => true, | |
:retailer => @retailer ) | |
from_date = "#{(Date.today - 2.day).strftime('%B')} #{@sale2.item_date.split("-")[2]}, #{@sale.item_date.split("-")[0]}" | |
to_date = "#{(Date.today - 1.day).strftime('%B')} #{@sale.item_date.split("-")[2]}, #{@sale.item_date.split("-")[0]}" | |
post :regional, :connect => {:select=>"0"}, | |
:rtype=>"state - units", | |
:from_date => from_date, | |
:to_date => to_date | |
assert_response :success | |
assert @response.body.scan("0 additional sales online or unmapped.").first | |
assert_nil @response.body.scan("2 additional sales online or unmapped.").first | |
post :regional, :connect => {:select=>"0"}, | |
:rtype=>"state - dollar", | |
:from_date => from_date, | |
:to_date => to_date | |
assert_response :success | |
assert_nil @response.body.scan("$176 additional sales online or unmapped.").first | |
assert @response.body.scan("$0 additional sales online or unmapped.").first | |
end | |
test "post by_year with current user" do | |
@sale = fake_sale(:inbound => @inbound, :serial_number => 99999, | |
:item_date => (Date.today - 1.month).strftime("%Y-%m-%d"), | |
:amount => 99, :rec_type => "Sales", :was_redeemed => true, | |
:retailer => @retailer, | |
:item_month => (Date.today - 1.month).month, | |
:item_year => (Date.today - 1.month).year ) | |
@sale2 = fake_sale(:inbound => @inbound, :serial_number => 99999, | |
:item_date => (Date.today - 2.month).strftime("%Y-%m-%d"), | |
:amount => 77, :rec_type => "Sales", :was_redeemed => true, | |
:retailer => @retailer, | |
:item_month => (Date.today - 2.month).month, | |
:item_year => (Date.today - 2.month).year ) | |
from_date = "#{(Date.today - 2.day).strftime('%B')} #{@sale2.item_date.split("-")[2]}, #{@sale.item_date.split("-")[0]}" | |
to_date = "#{(Date.today - 1.day).strftime('%B')} #{@sale.item_date.split("-")[2]}, #{@sale.item_date.split("-")[0]}" | |
#run non stacked, all years | |
post :by_year, :commit => "run report", | |
:connect => {"year" => "0", "select"=>"0"}, | |
:stacked => {:do_it => "0"} | |
assert_response :success | |
assert @response.body.scan("subcaption='$176.00'").first | |
#run stacked, all years | |
post :by_year, :commit => "run report", | |
:connect => {"year" => "0", "select"=>"0"}, | |
:stacked => {:do_it => "1"} | |
assert_response :success | |
assert @response.body.scan("subcaption='$176.00'").first | |
end | |
test "post by_year with current user assert nil for promo" do | |
@sale = fake_sale(:inbound => @inbound, :serial_number => 99999, | |
:item_date => (Date.today - 1.month).strftime("%Y-%m-%d"), | |
:amount => 99, :rec_type => "Promo", :was_redeemed => true, | |
:retailer => @retailer, | |
:item_month => (Date.today - 1.month).month, | |
:item_year => (Date.today - 1.month).year ) | |
@sale2 = fake_sale(:inbound => @inbound, :serial_number => 99999, | |
:item_date => (Date.today - 2.month).strftime("%Y-%m-%d"), | |
:amount => 77, :rec_type => "Promo", :was_redeemed => true, | |
:retailer => @retailer, | |
:item_month => (Date.today - 2.month).month, | |
:item_year => (Date.today - 2.month).year ) | |
from_date = "#{(Date.today - 2.day).strftime('%B')} #{@sale2.item_date.split("-")[2]}, #{@sale.item_date.split("-")[0]}" | |
to_date = "#{(Date.today - 1.day).strftime('%B')} #{@sale.item_date.split("-")[2]}, #{@sale.item_date.split("-")[0]}" | |
#run non stacked, all years | |
post :by_year, :commit => "run report", | |
:connect => {"year" => "0", "select"=>"0"}, | |
:stacked => {:do_it => "0"} | |
assert_response :success | |
assert_nil @response.body.scan("subcaption='$176.00'").first | |
#run stacked, all years | |
post :by_year, :commit => "run report", | |
:connect => {"year" => "0", "select"=>"0"}, | |
:stacked => {:do_it => "1"} | |
assert_response :success | |
assert_nil @response.body.scan("subcaption='$176.00'").first | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment