pag_seguro 0.5.5 → 0.5.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -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