Skip to content

Instantly share code, notes, and snippets.

@scottwillson
Created February 7, 2011 22:28
Show Gist options
  • Save scottwillson/815386 to your computer and use it in GitHub Desktop.
Save scottwillson/815386 to your computer and use it in GitHub Desktop.
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