Created
February 7, 2011 22:28
-
-
Save scottwillson/815386 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
diff --git a/test/unit/report/entertainment/deal_email_file_test.rb b/test/unit/report/entertainment/deal_email_file_test.rb | |
index 2089d2f..2f97681 100644 | |
--- a/test/unit/report/entertainment/deal_email_file_test.rb | |
+++ b/test/unit/report/entertainment/deal_email_file_test.rb | |
@@ -1,10 +1,7 @@ | |
require File.dirname(__FILE__) + "/../../../test_helper" | |
require File.dirname(__FILE__) + '/../entertainment_setup' | |
-module Report | |
- module Entertainment | |
- | |
- class DealEmailFileTest < ActiveSupport::TestCase | |
+class Report::Entertainment::DealEmailFileTest < ActiveSupport::TestCase | |
include Report::EntertainmentSetup | |
@@ -33,94 +30,94 @@ module Report | |
end | |
test "index of column name" do | |
- assert_equal 0, DealEmailFile.index_of_column_name("EMAIL") | |
- assert_equal 10, DealEmailFile.index_of_column_name("FIRSTNAME") | |
+ assert_equal 0, Report::Entertainment::DealEmailFile.index_of_column_name("EMAIL") | |
+ assert_equal 10, Report::Entertainment::DealEmailFile.index_of_column_name("FIRSTNAME") | |
end | |
test "email is capitalized" do | |
rows = [] | |
- generator = DealEmailFile.new(@entertainment) | |
+ generator = Report::Entertainment::DealEmailFile.new(@entertainment) | |
generator.generate_deal_email_file(rows) | |
- assert_equal "[email protected]", DealEmailFile.value_of_field_for_row("EMAIL", rows, 3) | |
+ assert_equal "[email protected]", Report::Entertainment::DealEmailFile.value_of_field_for_row("EMAIL", rows, 3) | |
end | |
test "testsegment contains city" do | |
rows = [] | |
- generator = DealEmailFile.new(@entertainment) | |
+ generator = Report::Entertainment::DealEmailFile.new(@entertainment) | |
generator.generate_deal_email_file(rows) | |
- assert_equal "Detroit", DealEmailFile.value_of_field_for_row("TESTSEGMENT", rows, 3) | |
+ assert_equal "Detroit", Report::Entertainment::DealEmailFile.value_of_field_for_row("TESTSEGMENT", rows, 3) | |
end | |
test "merchant fields get populated" do | |
rows = [] | |
- generator = DealEmailFile.new(@entertainment) | |
+ generator = Report::Entertainment::DealEmailFile.new(@entertainment) | |
generator.generate_deal_email_file(rows) | |
- assert_equal "[email protected]", DealEmailFile.value_of_field_for_row("EMAIL", rows, 3) | |
- assert_equal "Detroit", DealEmailFile.value_of_field_for_row("MERCHANTCITY1", rows, 3) | |
- assert_equal "MI", DealEmailFile.value_of_field_for_row("MERCHANTSTATE1", rows, 3) | |
- assert_equal "detroit addr line 1", DealEmailFile.value_of_field_for_row("MERCHANTADDRESS1", rows, 3) | |
- assert_equal "99999", DealEmailFile.value_of_field_for_row("MERCHANTZIPCODE1", rows, 3) | |
+ assert_equal "[email protected]", Report::Entertainment::DealEmailFile.value_of_field_for_row("EMAIL", rows, 3) | |
+ assert_equal "Detroit", Report::Entertainment::DealEmailFile.value_of_field_for_row("MERCHANTCITY1", rows, 3) | |
+ assert_equal "MI", Report::Entertainment::DealEmailFile.value_of_field_for_row("MERCHANTSTATE1", rows, 3) | |
+ assert_equal "detroit addr line 1", Report::Entertainment::DealEmailFile.value_of_field_for_row("MERCHANTADDRESS1", rows, 3) | |
+ assert_equal "99999", Report::Entertainment::DealEmailFile.value_of_field_for_row("MERCHANTZIPCODE1", rows, 3) | |
end | |
test "2nd set of merchant fields does not get populate (for now)" do | |
rows = [] | |
- generator = DealEmailFile.new(@entertainment) | |
+ generator = Report::Entertainment::DealEmailFile.new(@entertainment) | |
generator.generate_deal_email_file(rows) | |
- assert_equal "[email protected]", DealEmailFile.value_of_field_for_row("EMAIL", rows, 3) | |
- assert_equal "", DealEmailFile.value_of_field_for_row("MERCHANTCITY2", rows, 3) | |
- assert_equal "", DealEmailFile.value_of_field_for_row("MERCHANTSTATE2", rows, 3) | |
- assert_equal "", DealEmailFile.value_of_field_for_row("MERCHANTADDRESS2", rows, 3) | |
- assert_equal "", DealEmailFile.value_of_field_for_row("MERCHANTZIPCODE2", rows, 3) | |
+ assert_equal "[email protected]", Report::Entertainment::DealEmailFile.value_of_field_for_row("EMAIL", rows, 3) | |
+ assert_equal "", Report::Entertainment::DealEmailFile.value_of_field_for_row("MERCHANTCITY2", rows, 3) | |
+ assert_equal "", Report::Entertainment::DealEmailFile.value_of_field_for_row("MERCHANTSTATE2", rows, 3) | |
+ assert_equal "", Report::Entertainment::DealEmailFile.value_of_field_for_row("MERCHANTADDRESS2", rows, 3) | |
+ assert_equal "", Report::Entertainment::DealEmailFile.value_of_field_for_row("MERCHANTZIPCODE2", rows, 3) | |
end | |
test "multilocation flag is Y when multiple stores and N when one store" do | |
rows = [] | |
- generator = DealEmailFile.new(@entertainment) | |
+ generator = Report::Entertainment::DealEmailFile.new(@entertainment) | |
generator.generate_deal_email_file(rows) | |
- assert_equal "[email protected]", DealEmailFile.value_of_field_for_row("EMAIL", rows, 3) | |
- assert_equal "Y", DealEmailFile.value_of_field_for_row("MERCHANTMULTILOCATIONFLAG", rows, 3) | |
- assert_equal "[email protected]", DealEmailFile.value_of_field_for_row("EMAIL", rows, 4) | |
- assert_equal "N", DealEmailFile.value_of_field_for_row("MERCHANTMULTILOCATIONFLAG", rows, 4) | |
+ assert_equal "[email protected]", Report::Entertainment::DealEmailFile.value_of_field_for_row("EMAIL", rows, 3) | |
+ assert_equal "Y", Report::Entertainment::DealEmailFile.value_of_field_for_row("MERCHANTMULTILOCATIONFLAG", rows, 3) | |
+ assert_equal "[email protected]", Report::Entertainment::DealEmailFile.value_of_field_for_row("EMAIL", rows, 4) | |
+ assert_equal "N", Report::Entertainment::DealEmailFile.value_of_field_for_row("MERCHANTMULTILOCATIONFLAG", rows, 4) | |
end | |
test "merchant fields are okay when there is no merchant" do | |
rows = [] | |
- generator = DealEmailFile.new(@entertainment) | |
+ generator = Report::Entertainment::DealEmailFile.new(@entertainment) | |
generator.generate_deal_email_file(rows) | |
- assert_equal "[email protected]", DealEmailFile.value_of_field_for_row("EMAIL", rows, 4) | |
- assert_equal "", DealEmailFile.value_of_field_for_row("MERCHANTCITY2", rows, 4) | |
- assert_equal "", DealEmailFile.value_of_field_for_row("MERCHANTSTATE2", rows, 4) | |
- assert_equal "", DealEmailFile.value_of_field_for_row("MERCHANTADDRESS2", rows, 4) | |
- assert_equal "", DealEmailFile.value_of_field_for_row("MERCHANTZIPCODE2", rows, 4) | |
+ assert_equal "[email protected]", Report::Entertainment::DealEmailFile.value_of_field_for_row("EMAIL", rows, 4) | |
+ assert_equal "", Report::Entertainment::DealEmailFile.value_of_field_for_row("MERCHANTCITY2", rows, 4) | |
+ assert_equal "", Report::Entertainment::DealEmailFile.value_of_field_for_row("MERCHANTSTATE2", rows, 4) | |
+ assert_equal "", Report::Entertainment::DealEmailFile.value_of_field_for_row("MERCHANTADDRESS2", rows, 4) | |
+ assert_equal "", Report::Entertainment::DealEmailFile.value_of_field_for_row("MERCHANTZIPCODE2", rows, 4) | |
end | |
test "weirdly named url to deal field" do | |
rows = [] | |
- generator = DealEmailFile.new(@entertainment) | |
+ generator = Report::Entertainment::DealEmailFile.new(@entertainment) | |
generator.generate_deal_email_file(rows) | |
- assert_equal "http://deals.entertainment.com/daily_deals/#{@detroit_deal.id}", DealEmailFile.value_of_field_for_row("ENDECAKEY1", rows, 3) | |
+ assert_equal "http://deals.entertainment.com/daily_deals/#{@detroit_deal.id}", Report::Entertainment::DealEmailFile.value_of_field_for_row("ENDECAKEY1", rows, 3) | |
end | |
test "clean file value cleans tab as well as __ and newline and pipe which is delim" do | |
- assert_equal "foobarfoobar", DealEmailFile.clean_field_value("\tfoo\tb|||ar__\tfoo__|bar__\n\n") | |
+ assert_equal "foobarfoobar", Report::Entertainment::DealEmailFile.clean_field_value("\tfoo\tb|||ar__\tfoo__|bar__\n\n") | |
end | |
test "money fields are formatted as money" do | |
rows = [] | |
- generator = DealEmailFile.new(@entertainment) | |
+ generator = Report::Entertainment::DealEmailFile.new(@entertainment) | |
generator.generate_deal_email_file(rows) | |
- assert_equal "[email protected]", DealEmailFile.value_of_field_for_row("EMAIL", rows, 3) | |
- assert_equal "$15.00", DealEmailFile.value_of_field_for_row("PRODUCTPRICE", rows, 3) | |
- assert_equal "$15.00", DealEmailFile.value_of_field_for_row("PRODUCTPROMOPRICE", rows, 3) | |
- assert_equal "$30.00", DealEmailFile.value_of_field_for_row("OFFERUPTOVALUE1", rows, 3) | |
+ assert_equal "[email protected]", Report::Entertainment::DealEmailFile.value_of_field_for_row("EMAIL", rows, 3) | |
+ assert_equal "$15.00", Report::Entertainment::DealEmailFile.value_of_field_for_row("PRODUCTPRICE", rows, 3) | |
+ assert_equal "$15.00", Report::Entertainment::DealEmailFile.value_of_field_for_row("PRODUCTPROMOPRICE", rows, 3) | |
+ assert_equal "$30.00", Report::Entertainment::DealEmailFile.value_of_field_for_row("OFFERUPTOVALUE1", rows, 3) | |
end | |
test "percentage fields are formated as percentage" do | |
rows = [] | |
- generator = DealEmailFile.new(@entertainment) | |
+ generator = Report::Entertainment::DealEmailFile.new(@entertainment) | |
generator.generate_deal_email_file(rows) | |
- assert_equal "[email protected]", DealEmailFile.value_of_field_for_row("EMAIL", rows, 3) | |
- assert_equal "50%", DealEmailFile.value_of_field_for_row("PRODUCTTOTALVALUE", rows, 3) | |
+ assert_equal "[email protected]", Report::Entertainment::DealEmailFile.value_of_field_for_row("EMAIL", rows, 3) | |
+ assert_equal "50%", Report::Entertainment::DealEmailFile.value_of_field_for_row("PRODUCTTOTALVALUE", rows, 3) | |
end | |
test "description field truncates properly" do | |
@@ -133,24 +130,24 @@ module Report | |
assert_equal 79, actual.count("h") | |
assert actual.length <= 960 | |
assert_equal ("<p>hello</p>" * 79).chomp + "...", actual | |
- generator = DealEmailFile.new(@entertainment) | |
+ generator = Report::Entertainment::DealEmailFile.new(@entertainment) | |
generator.generate_deal_email_file(rows) | |
- assert_equal "[email protected]", DealEmailFile.value_of_field_for_row("EMAIL", rows, 3) | |
- assert_equal ("<p>hello</p>" * 79).chomp + "...", DealEmailFile.value_of_field_for_row("OFFERCOPYLONG1", rows, 3) | |
+ assert_equal "[email protected]", Report::Entertainment::DealEmailFile.value_of_field_for_row("EMAIL", rows, 3) | |
+ assert_equal ("<p>hello</p>" * 79).chomp + "...", Report::Entertainment::DealEmailFile.value_of_field_for_row("OFFERCOPYLONG1", rows, 3) | |
end | |
test "truncation works" do | |
rows = [] | |
@john_detroit.first_name = "J"*80 | |
@john_detroit.save! | |
- generator = DealEmailFile.new(@entertainment) | |
+ generator = Report::Entertainment::DealEmailFile.new(@entertainment) | |
generator.generate_deal_email_file(rows) | |
- assert_equal "J"*50, DealEmailFile.value_of_field_for_row("FIRSTNAME", rows, 3) | |
+ assert_equal "J"*50, Report::Entertainment::DealEmailFile.value_of_field_for_row("FIRSTNAME", rows, 3) | |
end | |
test "deals by publisher" do | |
assert_equal 4, @entertainment.daily_deals.size | |
- deals_by_publisher = DealEmailFile.new(@entertainment).deals_by_publisher_label | |
+ deals_by_publisher = Report::Entertainment::DealEmailFile.new(@entertainment).deals_by_publisher_label | |
assert_equal 3, deals_by_publisher.keys.size, "Unlaunched publishers should be filtered out" | |
assert_equal @detroit_deal.id, deals_by_publisher[@detroit_publisher.label][:deal_id] | |
assert_equal @dallas_deal.id, deals_by_publisher[@dallas_publisher.label][:deal_id] | |
@@ -162,9 +159,9 @@ module Report | |
@john_subscriber = Factory(:subscriber, :publisher=>@detroit_publisher, :email => @john_detroit.email, :first_name => "Henry") | |
@john_detroit.first_name = nil | |
@john_detroit.save! | |
- generator = DealEmailFile.new(@entertainment) | |
+ generator = Report::Entertainment::DealEmailFile.new(@entertainment) | |
generator.generate_deal_email_file(rows) | |
- assert_equal "Henry", DealEmailFile.value_of_field_for_row("FIRSTNAME", rows, 3) | |
+ assert_equal "Henry", Report::Entertainment::DealEmailFile.value_of_field_for_row("FIRSTNAME", rows, 3) | |
end | |
def assert_deal_matches_city(signups, city, deal) | |
@@ -175,6 +172,4 @@ module Report | |
end | |
end | |
- end | |
- end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment