pag_seguro 0.5.5 → 0.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,63 +2,63 @@
2
2
  require "spec_helper"
3
3
 
4
4
  describe PagSeguro::PreApproval do
5
- it { should have_attribute_accessor(:name) }
6
- it { should have_attribute_accessor(:details) }
7
- it { should have_attribute_accessor(:amount_per_payment) }
8
- it { should have_attribute_accessor(:period) }
9
- it { should have_attribute_accessor(:day_of_week) }
10
- it { should have_attribute_accessor(:day_of_month) }
11
- it { should have_attribute_accessor(:day_of_year) }
12
- it { should have_attribute_accessor(:initial_date) }
13
- it { should have_attribute_accessor(:final_date) }
14
- it { should have_attribute_accessor(:max_amount_per_period) }
15
- it { should have_attribute_accessor(:max_total_amount) }
16
- it { should have_attribute_accessor(:review_URL) }
17
-
18
- it { should validate_presence_of :name }
19
- it { should validate_presence_of :period }
20
- it { should validate_presence_of :final_date }
21
- it { should validate_presence_of :max_amount_per_period }
22
- it { should validate_presence_of :max_total_amount }
5
+ it { is_expected.to have_attribute_accessor(:name) }
6
+ it { is_expected.to have_attribute_accessor(:details) }
7
+ it { is_expected.to have_attribute_accessor(:amount_per_payment) }
8
+ it { is_expected.to have_attribute_accessor(:period) }
9
+ it { is_expected.to have_attribute_accessor(:day_of_week) }
10
+ it { is_expected.to have_attribute_accessor(:day_of_month) }
11
+ it { is_expected.to have_attribute_accessor(:day_of_year) }
12
+ it { is_expected.to have_attribute_accessor(:initial_date) }
13
+ it { is_expected.to have_attribute_accessor(:final_date) }
14
+ it { is_expected.to have_attribute_accessor(:max_amount_per_period) }
15
+ it { is_expected.to have_attribute_accessor(:max_total_amount) }
16
+ it { is_expected.to have_attribute_accessor(:review_URL) }
17
+
18
+ it { is_expected.to validate_presence_of :name }
19
+ it { is_expected.to validate_presence_of :period }
20
+ it { is_expected.to validate_presence_of :final_date }
21
+ it { is_expected.to validate_presence_of :max_amount_per_period }
22
+ it { is_expected.to validate_presence_of :max_total_amount }
23
23
 
24
24
  [:weekly, :monthly, :bimonthly, :trimonthly, :semiannually, :yearly].each do |period_type|
25
- it { should allow_value(period_type).for(:period) }
26
- it { should allow_value(period_type.to_s).for(:period) }
27
- it { should allow_value(period_type.to_s.upcase).for(:period) }
25
+ it { is_expected.to allow_value(period_type).for(:period) }
26
+ it { is_expected.to allow_value(period_type.to_s).for(:period) }
27
+ it { is_expected.to allow_value(period_type.to_s.upcase).for(:period) }
28
28
  end
29
- it { should_not allow_value(:some_other_period_type).for(:period) }
29
+ it { is_expected.not_to allow_value(:some_other_period_type).for(:period) }
30
30
 
31
- it { should allow_value( nil ).for(:initial_date) }
32
- it { should_not allow_value( Time.now - 10.minutes ).for(:initial_date) }
33
- it { should allow_value( Time.now ).for(:initial_date) }
34
- it { should allow_value( (PagSeguro::PreApproval::DATE_RANGE - 5.minutes).from_now ).for(:initial_date) }
35
- it { should_not allow_value( PagSeguro::PreApproval::DATE_RANGE.from_now + 5.minutes ).for(:initial_date) }
31
+ it { is_expected.to allow_value( nil ).for(:initial_date) }
32
+ it { is_expected.not_to allow_value( Time.now - 10.minutes ).for(:initial_date) }
33
+ it { is_expected.to allow_value( Time.now ).for(:initial_date) }
34
+ it { is_expected.to allow_value( (PagSeguro::PreApproval::DATE_RANGE - 5.minutes).from_now ).for(:initial_date) }
35
+ it { is_expected.not_to allow_value( PagSeguro::PreApproval::DATE_RANGE.from_now + 5.minutes ).for(:initial_date) }
36
36
 
37
- it { should_not allow_value( nil ).for(:final_date) }
38
- it { should_not allow_value( Time.now - 10.minutes ).for(:final_date) }
39
- it { should allow_value( Time.now ).for(:final_date) }
40
- it { should allow_value( (PagSeguro::PreApproval::DATE_RANGE - 5.minutes).from_now ).for(:final_date) }
41
- it { should_not allow_value( PagSeguro::PreApproval::DATE_RANGE.from_now + 5.minutes ).for(:final_date) }
37
+ it { is_expected.not_to allow_value( nil ).for(:final_date) }
38
+ it { is_expected.not_to allow_value( Time.now - 10.minutes ).for(:final_date) }
39
+ it { is_expected.to allow_value( Time.now ).for(:final_date) }
40
+ it { is_expected.to allow_value( (PagSeguro::PreApproval::DATE_RANGE - 5.minutes).from_now ).for(:final_date) }
41
+ it { is_expected.not_to allow_value( PagSeguro::PreApproval::DATE_RANGE.from_now + 5.minutes ).for(:final_date) }
42
42
 
43
43
  context "with an initial date" do
44
44
  subject { PagSeguro::PreApproval.new(initial_date: 5.days.from_now) }
45
45
 
46
- it { should_not allow_value( nil ).for(:final_date) }
47
- it { should_not allow_value( Time.now - 10.minutes + 5.days ).for(:final_date) }
48
- it { should allow_value( Time.now + 5.days ).for(:final_date) }
49
- it { should allow_value( (PagSeguro::PreApproval::DATE_RANGE - 5.minutes + 5.days).from_now ).for(:final_date) }
50
- it { should_not allow_value( PagSeguro::PreApproval::DATE_RANGE.from_now + 5.minutes + 5.days ).for(:final_date) }
46
+ it { is_expected.not_to allow_value( nil ).for(:final_date) }
47
+ it { is_expected.not_to allow_value( Time.now - 10.minutes + 5.days ).for(:final_date) }
48
+ it { is_expected.to allow_value( Time.now + 5.days ).for(:final_date) }
49
+ it { is_expected.to allow_value( (PagSeguro::PreApproval::DATE_RANGE - 5.minutes + 5.days).from_now ).for(:final_date) }
50
+ it { is_expected.not_to allow_value( PagSeguro::PreApproval::DATE_RANGE.from_now + 5.minutes + 5.days ).for(:final_date) }
51
51
  end
52
52
 
53
53
  describe "initialized with minimum attributes" do
54
54
  subject{ build :minimum_pre_approval }
55
- it { should be_valid }
55
+ it { is_expected.to be_valid }
56
56
  end
57
57
 
58
58
  describe "initialized with attributes" do
59
59
  subject{ build :pre_approval }
60
60
 
61
- it { should be_valid }
61
+ it { is_expected.to be_valid }
62
62
  its(:name){ should == "Super seguro para notebook" }
63
63
  its(:details){ should == "Toda segunda feira será cobrado o valor de R$150,00 para o seguro do notebook" }
64
64
  its(:amount_per_payment){ should == '150.00' }
@@ -71,43 +71,43 @@ describe PagSeguro::PreApproval do
71
71
  context "weekly" do
72
72
  subject{ build :weekly_pre_approval }
73
73
 
74
- it { should ensure_inclusion_of(:day_of_week).in_array(%w(monday tuesday wednesday thursday friday saturday sunday)) }
74
+ it { is_expected.to ensure_inclusion_of(:day_of_week).in_array(%w(monday tuesday wednesday thursday friday saturday sunday)) }
75
75
 
76
76
  its(:period){ should == 'weekly' }
77
77
  its(:day_of_week){ should == 'monday' }
78
- it { should be_weekly }
79
- it { should_not be_monthly }
80
- it { should_not be_yearly }
78
+ it { is_expected.to be_weekly }
79
+ it { is_expected.not_to be_monthly }
80
+ it { is_expected.not_to be_yearly }
81
81
 
82
82
  end
83
83
 
84
84
  context "monthly" do
85
85
  subject{ build :monthly_pre_approval }
86
86
 
87
- it { should ensure_inclusion_of(:day_of_month).in_range(1..28) }
87
+ it { is_expected.to ensure_inclusion_of(:day_of_month).in_range(1..28) }
88
88
 
89
89
  its(:period){ should == 'monthly' }
90
90
  its(:day_of_month){ should == 3 }
91
- it { should_not be_weekly }
92
- it { should be_monthly }
93
- it { should_not be_yearly }
91
+ it { is_expected.not_to be_weekly }
92
+ it { is_expected.to be_monthly }
93
+ it { is_expected.not_to be_yearly }
94
94
  end
95
95
 
96
96
  context "yearly" do
97
97
  subject{ build :yearly_pre_approval }
98
98
 
99
- it { should validate_presence_of(:day_of_year) }
100
- it { should allow_value('10-22').for(:day_of_year) }
101
- it { should allow_value('01-01').for(:day_of_year) }
102
- it { should allow_value(PagSeguro::DayOfYear.new(month: 1, day: 1)).for(:day_of_year) }
103
- it { should_not allow_value('1-1').for(:day_of_year) }
104
- it { should_not allow_value("10-22\nanything").for(:day_of_year) }
99
+ it { is_expected.to validate_presence_of(:day_of_year) }
100
+ it { is_expected.to allow_value('10-22').for(:day_of_year) }
101
+ it { is_expected.to allow_value('01-01').for(:day_of_year) }
102
+ it { is_expected.to allow_value(PagSeguro::DayOfYear.new(month: 1, day: 1)).for(:day_of_year) }
103
+ it { is_expected.not_to allow_value('1-1').for(:day_of_year) }
104
+ it { is_expected.not_to allow_value("10-22\nanything").for(:day_of_year) }
105
105
 
106
106
  its(:period){ should == 'yearly' }
107
107
  its(:day_of_year){ should == '03-01' }
108
- it { should_not be_weekly }
109
- it { should_not be_monthly }
110
- it { should be_yearly }
108
+ it { is_expected.not_to be_weekly }
109
+ it { is_expected.not_to be_monthly }
110
+ it { is_expected.to be_yearly }
111
111
  end
112
112
  end
113
113
  end
@@ -6,7 +6,7 @@ describe PagSeguro::Query do
6
6
  let(:transactions_xml){ File.open( File.expand_path( File.dirname(__FILE__) + '/../fixtures/transaction_history.xml') ) }
7
7
 
8
8
  describe "instance" do
9
- before { PagSeguro::Query.any_instance.stub(transaction_data: transaction_data) }
9
+ before { allow_any_instance_of(PagSeguro::Query).to receive_messages(transaction_data: transaction_data) }
10
10
  let(:transaction){ PagSeguro::Query.new("mail", "token", "trans_code") }
11
11
  subject{ PagSeguro::Query }
12
12
 
@@ -21,8 +21,8 @@ describe PagSeguro::Query do
21
21
  context "with abandoned set to false" do
22
22
  it "should try to fetch transactions" do
23
23
  params = double(:params)
24
- PagSeguro::Query.stub(search_params: params)
25
- RestClient.should_receive(:get).with("https://ws.pagseguro.uol.com.br/v2/transactions", params: params)
24
+ allow(PagSeguro::Query).to receive_messages(search_params: params)
25
+ expect(RestClient).to receive(:get).with("https://ws.pagseguro.uol.com.br/v2/transactions", params: params)
26
26
  PagSeguro::Query.find "email", "token"
27
27
  end
28
28
  end
@@ -30,61 +30,63 @@ describe PagSeguro::Query do
30
30
  context "with abandoned set to true" do
31
31
  it "should try to fetch abandoned transactions" do
32
32
  params = double(:params)
33
- PagSeguro::Query.stub(search_params: params)
34
- RestClient.should_receive(:get).with("https://ws.pagseguro.uol.com.br/v2/transactions/abandoned", params: params)
33
+ allow(PagSeguro::Query).to receive_messages(search_params: params)
34
+ expect(RestClient).to receive(:get).with("https://ws.pagseguro.uol.com.br/v2/transactions/abandoned", params: params)
35
35
  PagSeguro::Query.find "email", "token", abandoned: true
36
36
  end
37
37
  end
38
38
 
39
39
  context "with a stubbed response" do
40
- before { RestClient.stub(get: transactions_xml) }
40
+ before { allow(RestClient).to receive_messages(get: transactions_xml) }
41
41
  subject{ PagSeguro::Query.find "email", "token", options: true }
42
42
 
43
43
  it "calls search_url with received options" do
44
- PagSeguro::Query.should_receive(:search_params).with("email", "token", {options: true})
44
+ expect(PagSeguro::Query).to receive(:search_params).with("email", "token", {options: true})
45
45
  PagSeguro::Query.find "email", "token", options: true
46
46
  end
47
47
 
48
- it{ should be_a Array }
49
- it{ should have(2).transactions }
50
- it("should have transaction ids"){ subject.map(&:id).should == ["REF1234", "REF5678"] }
48
+ it{ is_expected.to be_a Array }
49
+ it'has 2 transactions' do
50
+ expect(subject.size).to eq(2)
51
+ end
52
+ it("should have transaction ids"){ expect(subject.map(&:id)).to eq(["REF1234", "REF5678"]) }
51
53
  end
52
54
  end
53
55
 
54
56
  describe "::search_params" do
55
- it("returns an Hash"){ PagSeguro::Query.search_params("email", "token").should be_a Hash }
57
+ it("returns an Hash"){ expect(PagSeguro::Query.search_params("email", "token")).to be_a Hash }
56
58
 
57
59
  context "with default options" do
58
60
  let(:search_params) { PagSeguro::Query.search_params("email", "token") }
59
- it { search_params.keys.should_not include :maxPageResults }
60
- it { search_params.keys.should_not include :page }
61
- it { search_params[:finalDate].should include Date.today.iso8601 }
62
- it { search_params[:initialDate].should include Date.yesterday.iso8601 }
61
+ it { expect(search_params.keys).not_to include :maxPageResults }
62
+ it { expect(search_params.keys).not_to include :page }
63
+ it { expect(search_params[:finalDate]).to include Date.today.iso8601 }
64
+ it { expect(search_params[:initialDate]).to include Date.yesterday.iso8601 }
63
65
 
64
66
  it "should call parse_dates" do
65
- PagSeguro::Query.should_receive(:parse_dates)
67
+ expect(PagSeguro::Query).to receive(:parse_dates)
66
68
  search_params
67
69
  end
68
70
  end
69
71
 
70
72
  context "with page number set to 2" do
71
73
  let(:search_params){ PagSeguro::Query.search_params("email", "token", page: 2) }
72
- it { search_params[:page].should == 2 }
74
+ it { expect(search_params[:page]).to eq(2) }
73
75
  end
74
76
 
75
77
  context "with max_page_results set to 100" do
76
78
  let(:search_params){ PagSeguro::Query.search_params("email", "token", max_page_results: 100) }
77
- it { search_params[:maxPageResults].should == 100 }
79
+ it { expect(search_params[:maxPageResults]).to eq(100) }
78
80
  end
79
81
 
80
82
  context "with initial_date set to 20 days ago" do
81
83
  let(:search_params){ PagSeguro::Query.search_params("email", "token", initial_date: 20.days.ago) }
82
- it { search_params[:initialDate].should include 20.days.ago.iso8601 }
84
+ it { expect(search_params[:initialDate]).to include 20.days.ago.iso8601 }
83
85
  end
84
86
 
85
87
  context "with final_date set to 10 days ago" do
86
88
  let(:search_params){ PagSeguro::Query.search_params("email", "token", initial_date: 20.days.ago, final_date: 10.days.ago) }
87
- it { search_params[:finalDate].should include 10.days.ago.iso8601 }
89
+ it { expect(search_params[:finalDate]).to include 10.days.ago.iso8601 }
88
90
  end
89
91
  end
90
92
 
@@ -115,21 +117,21 @@ describe PagSeguro::Query do
115
117
 
116
118
  context "first return argument" do
117
119
  it "returns yesterday if no initial date was given" do
118
- PagSeguro::Query.parse_dates.first.should == (Time.now - 1.day).iso8601
120
+ expect(PagSeguro::Query.parse_dates.first).to eq((Time.now - 1.day).iso8601)
119
121
  end
120
122
 
121
123
  it "returns the initial date in iso8601 format if provided" do
122
- PagSeguro::Query.parse_dates(initial_date: 3.days.ago).first.should == 3.days.ago.iso8601
124
+ expect(PagSeguro::Query.parse_dates(initial_date: 3.days.ago).first).to eq(3.days.ago.iso8601)
123
125
  end
124
126
  end
125
127
 
126
128
  context "second return argument" do
127
129
  it "returns initial_date + 1 day no final date was given" do
128
- PagSeguro::Query.parse_dates(initial_date: 2.days.ago).last.should == 1.day.ago.iso8601
130
+ expect(PagSeguro::Query.parse_dates(initial_date: 2.days.ago).last).to eq(1.day.ago.iso8601)
129
131
  end
130
132
 
131
133
  it "returns the final date in iso8601 format if provided" do
132
- PagSeguro::Query.parse_dates(initial_date: 3.days.ago, final_date: 2.days.ago).last.should == 2.days.ago.iso8601
134
+ expect(PagSeguro::Query.parse_dates(initial_date: 3.days.ago, final_date: 2.days.ago).last).to eq(2.days.ago.iso8601)
133
135
  end
134
136
  end
135
137
  end
@@ -3,10 +3,10 @@ require "spec_helper"
3
3
 
4
4
  describe PagSeguro::Sender do
5
5
  context "instance" do
6
- it { should have_attribute_accessor(:email) }
7
- it { should have_attribute_accessor(:name) }
8
- it { should have_attribute_accessor(:phone_ddd) }
9
- it { should have_attribute_accessor(:phone_number) }
6
+ it { is_expected.to have_attribute_accessor(:email) }
7
+ it { is_expected.to have_attribute_accessor(:name) }
8
+ it { is_expected.to have_attribute_accessor(:phone_ddd) }
9
+ it { is_expected.to have_attribute_accessor(:phone_number) }
10
10
 
11
11
  context "initialized with all attributes" do
12
12
  subject { PagSeguro::Sender.new attributes_for(:sender) }
@@ -23,37 +23,37 @@ describe PagSeguro::Sender do
23
23
 
24
24
  context "with nil name" do
25
25
  subject { build :sender, name: nil }
26
- it { should_not be_a_valid_name }
26
+ it { is_expected.not_to be_a_valid_name }
27
27
  its(:name){ should be_nil }
28
28
  end
29
29
 
30
30
  context "with name Joao" do
31
31
  subject { build :sender, name: "Joao" }
32
- it { should_not be_a_valid_name }
32
+ it { is_expected.not_to be_a_valid_name }
33
33
  its(:name){ should be_nil }
34
34
  end
35
35
 
36
36
  context "with name Joao Paulo" do
37
37
  subject { build :sender, name: "Joao Paulo" }
38
- it { should be_a_valid_name }
38
+ it { is_expected.to be_a_valid_name }
39
39
  its(:name){ should == "Joao Paulo" }
40
40
  end
41
41
 
42
42
  context "with name João Paulo" do
43
43
  subject { build :sender, name: "João Paulo" }
44
- it { should be_a_valid_name }
44
+ it { is_expected.to be_a_valid_name }
45
45
  its(:name){ should == "João Paulo" }
46
46
  end
47
47
 
48
48
  context "with very big name" do
49
49
  subject { build :sender, name: ("a" * 50)+" "+("b" * 10) }
50
- it { should be_a_valid_name }
50
+ it { is_expected.to be_a_valid_name }
51
51
  its(:name){ should == "a" * 50 }
52
52
  end
53
53
 
54
54
  context "with double spaces in name" do
55
55
  subject { build :sender, name: "Stefano Benatti" }
56
- it { should be_a_valid_name }
56
+ it { is_expected.to be_a_valid_name }
57
57
  its(:name){ should == "Stefano Benatti" }
58
58
  end
59
59
 
@@ -4,22 +4,22 @@ require "spec_helper"
4
4
  describe PagSeguro::Shipping do
5
5
  let(:shipping){ PagSeguro::Shipping.new }
6
6
 
7
- it { should have_attribute_accessor(:type) }
8
- it { should have_attribute_accessor(:state) }
9
- it { should have_attribute_accessor(:city) }
10
- it { should have_attribute_accessor(:postal_code) }
11
- it { should have_attribute_accessor(:district) }
12
- it { should have_attribute_accessor(:street) }
13
- it { should have_attribute_accessor(:number) }
14
- it { should have_attribute_accessor(:complement) }
15
- it { should have_attribute_accessor(:cost) }
7
+ it { is_expected.to have_attribute_accessor(:type) }
8
+ it { is_expected.to have_attribute_accessor(:state) }
9
+ it { is_expected.to have_attribute_accessor(:city) }
10
+ it { is_expected.to have_attribute_accessor(:postal_code) }
11
+ it { is_expected.to have_attribute_accessor(:district) }
12
+ it { is_expected.to have_attribute_accessor(:street) }
13
+ it { is_expected.to have_attribute_accessor(:number) }
14
+ it { is_expected.to have_attribute_accessor(:complement) }
15
+ it { is_expected.to have_attribute_accessor(:cost) }
16
16
 
17
17
  its(:type){ should == PagSeguro::Shipping::UNIDENTIFIED }
18
18
 
19
19
  describe "instance" do
20
20
  subject{ build(:shipping) }
21
21
 
22
- it { should be_valid }
22
+ it { is_expected.to be_valid }
23
23
  its(:cost){ should == "12.13" }
24
24
  its(:postal_code){ should == "05363000" }
25
25
 
@@ -30,17 +30,17 @@ describe PagSeguro::Shipping do
30
30
 
31
31
  context "with type 1" do
32
32
  subject{ build(:shipping, type: 1) }
33
- it { should be_pac }
33
+ it { is_expected.to be_pac }
34
34
  end
35
35
 
36
36
  context "with type 2" do
37
37
  subject{ build(:shipping, type: 2) }
38
- it { should be_sedex }
38
+ it { is_expected.to be_sedex }
39
39
  end
40
40
 
41
41
  context "with type 3" do
42
42
  subject{ build(:shipping, type: 3) }
43
- it { should be_unidentified }
43
+ it { is_expected.to be_unidentified }
44
44
  end
45
45
  end
46
46
  end
@@ -0,0 +1,53 @@
1
+ require 'spec_helper'
2
+
3
+ describe PagSeguro::Url do
4
+
5
+ it "has a default environment" do
6
+ expect(PagSeguro::Url.environment).to eq :production
7
+ end
8
+
9
+ it "should change the environment" do
10
+ PagSeguro::Url.environment = :sandbox
11
+ expect(PagSeguro::Url.environment).to eq :sandbox
12
+ end
13
+
14
+ describe ".api_url" do
15
+ it "raises when environment has no endpoint" do
16
+ PagSeguro::Url.environment = :invalid
17
+
18
+ expect {
19
+ PagSeguro::Url.api_url("/")
20
+ }.to raise_exception(PagSeguro::Url::InvalidEnvironmentError)
21
+ end
22
+
23
+ it "returns api url" do
24
+ PagSeguro::Url.environment = :production
25
+ expect(PagSeguro::Url.api_url("/some/path")).to eql("https://ws.pagseguro.uol.com.br/v2/some/path")
26
+ end
27
+
28
+ it "returns sandbox api url" do
29
+ PagSeguro::Url.environment = :sandbox
30
+ expect(PagSeguro::Url.api_url("/some/path")).to eql("https://ws.sandbox.pagseguro.uol.com.br/v2/some/path")
31
+ end
32
+ end
33
+
34
+ describe ".site_url" do
35
+ it "raises when environment has no endpoint" do
36
+ PagSeguro::Url.environment = :invalid
37
+
38
+ expect {
39
+ PagSeguro::Url.site_url("/")
40
+ }.to raise_exception(PagSeguro::Url::InvalidEnvironmentError)
41
+ end
42
+
43
+ it "returns site url" do
44
+ PagSeguro::Url.environment = :production
45
+ expect(PagSeguro::Url.site_url("/some/path")).to eql("https://pagseguro.uol.com.br/v2/some/path")
46
+ end
47
+
48
+ it "returns sandbox site url" do
49
+ PagSeguro::Url.environment = :sandbox
50
+ expect(PagSeguro::Url.site_url("/some/path")).to eql("https://sandbox.pagseguro.uol.com.br/v2/some/path")
51
+ end
52
+ end
53
+ end