ci_power 0.0.24 → 0.0.25
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.
- data/lib/ci_power/action.rb +63 -63
- data/lib/ci_power/address.rb +97 -97
- data/lib/ci_power/communication.rb +18 -18
- data/lib/ci_power/debt_claim.rb +73 -73
- data/lib/ci_power/debtor_data.rb +65 -65
- data/lib/ci_power/dossier_data.rb +93 -93
- data/lib/ci_power/export.rb +165 -165
- data/lib/ci_power/installment_plan.rb +39 -39
- data/lib/ci_power/open_appointment.rb +45 -21
- data/lib/ci_power/process_data.rb +108 -108
- data/lib/ci_power/record.rb +41 -41
- data/lib/ci_power/version.rb +3 -3
- data/lib/ci_power.rb +13 -13
- data/lib/generators/ci_power/ci_power_generator.rb +11 -11
- data/lib/generators/ci_power/templates/cip_export.rb +12 -12
- data/lib/tasks/ci_power.rake +23 -23
- data/spec/ci_power/export_spec.rb +74 -74
- data/spec/ci_power/installment_plan_spec.rb +60 -60
- data/spec/spec_helper.rb +20 -20
- metadata +94 -88
@@ -1,109 +1,109 @@
|
|
1
|
-
module CiPower
|
2
|
-
class ProcessData < Record
|
3
|
-
attr_accessor :enforcement_date,
|
4
|
-
:enforcement_demand_action,
|
5
|
-
:delivery_date,
|
6
|
-
:continue_date,
|
7
|
-
:enforcement_no,
|
8
|
-
:enforcement_on,
|
9
|
-
:enforcement_bureau,
|
10
|
-
:comment,
|
11
|
-
:processes_to_date,
|
12
|
-
:execution_date,
|
13
|
-
:reclamation_from_date,
|
14
|
-
:reclamation_to_date,
|
15
|
-
:is_income_variable,
|
16
|
-
:is_third_party_claim,
|
17
|
-
:is_real_estate,
|
18
|
-
:execution_amount,
|
19
|
-
:income,
|
20
|
-
:quote,
|
21
|
-
:living_wage,
|
22
|
-
:execution_type,
|
23
|
-
:enforcement_group,
|
24
|
-
:third_party_claim,
|
25
|
-
:real_estate,
|
26
|
-
:reclamation_objects,
|
27
|
-
:unpaid_debts_certificate_date,
|
28
|
-
:is_continuable_after_6months,
|
29
|
-
:unpaid_debts_amount,
|
30
|
-
:gain,
|
31
|
-
:loss,
|
32
|
-
:unpaid_debts_type,
|
33
|
-
:gain_dropdown,
|
34
|
-
:unpaid_debts_certificate_no,
|
35
|
-
:claim_petition_date,
|
36
|
-
:opening_of_bankruptcy_date,
|
37
|
-
:opening_of_bankruptcy_process,
|
38
|
-
:opening_of_bankruptcy_process_no,
|
39
|
-
:directive_date,
|
40
|
-
:decision_date,
|
41
|
-
:judicial_vitiation_date,
|
42
|
-
:legal_effect_date,
|
43
|
-
:case_no_directive,
|
44
|
-
:case_no_decision,
|
45
|
-
:cip_dossier_no,
|
46
|
-
:unpaid_debts_certificate_transfer_application_date
|
47
|
-
|
48
|
-
def initialize(attributes = {})
|
49
|
-
if attributes.is_a? Hash
|
50
|
-
attributes.merge! :record_type => '19'
|
51
|
-
attributes.each do |key, value|
|
52
|
-
self.send("#{key}=".to_sym, value) if self.respond_to?("#{key}=")
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
def to_cip(with_line_terminator = true)
|
58
|
-
cip_default_data << fill_up(
|
59
|
-
{
|
60
|
-
:enforcement_date => 10,
|
61
|
-
:enforcement_demand_action => 10,
|
62
|
-
:delivery_date => 10,
|
63
|
-
:continue_date => 10,
|
64
|
-
:enforcement_no => 32,
|
65
|
-
:enforcement_on => 32,
|
66
|
-
:enforcement_bureau => 120,
|
67
|
-
:comment => 120,
|
68
|
-
:processes_to_date => 10,
|
69
|
-
:execution_date => 10,
|
70
|
-
:reclamation_from_date => 10,
|
71
|
-
:reclamation_to_date => 10,
|
72
|
-
:is_income_variable => 1,
|
73
|
-
:is_third_party_claim => 1,
|
74
|
-
:is_real_estate => 1,
|
75
|
-
:execution_amount => 15,
|
76
|
-
:income => 15,
|
77
|
-
:quote => 15,
|
78
|
-
:living_wage => 15,
|
79
|
-
:execution_type => 32,
|
80
|
-
:enforcement_group => 32,
|
81
|
-
:third_party_claim => 64,
|
82
|
-
:real_estate => 64,
|
83
|
-
:reclamation_objects => 240,
|
84
|
-
:unpaid_debts_certificate_date => 10,
|
85
|
-
:is_continuable_after_6months => 1,
|
86
|
-
:unpaid_debts_amount => 15,
|
87
|
-
:gain => 15,
|
88
|
-
:loss => 15,
|
89
|
-
:unpaid_debts_type => 32,
|
90
|
-
:gain_dropdown => 32,
|
91
|
-
:unpaid_debts_certificate_no => 32,
|
92
|
-
:claim_petition_date => 10,
|
93
|
-
:opening_of_bankruptcy_date => 10,
|
94
|
-
:opening_of_bankruptcy_process => 32,
|
95
|
-
:opening_of_bankruptcy_process_no => 32,
|
96
|
-
:directive_date => 10,
|
97
|
-
:decision_date => 10,
|
98
|
-
:judicial_vitiation_date => 10,
|
99
|
-
:legal_effect_date => 10,
|
100
|
-
:case_no_directive => 32,
|
101
|
-
:case_no_decision => 32,
|
102
|
-
:cip_dossier_no => 9,
|
103
|
-
:unpaid_debts_certificate_transfer_application_date => 10
|
104
|
-
}, with_line_terminator
|
105
|
-
)
|
106
|
-
end
|
107
|
-
|
108
|
-
end
|
1
|
+
module CiPower
|
2
|
+
class ProcessData < Record
|
3
|
+
attr_accessor :enforcement_date,
|
4
|
+
:enforcement_demand_action,
|
5
|
+
:delivery_date,
|
6
|
+
:continue_date,
|
7
|
+
:enforcement_no,
|
8
|
+
:enforcement_on,
|
9
|
+
:enforcement_bureau,
|
10
|
+
:comment,
|
11
|
+
:processes_to_date,
|
12
|
+
:execution_date,
|
13
|
+
:reclamation_from_date,
|
14
|
+
:reclamation_to_date,
|
15
|
+
:is_income_variable,
|
16
|
+
:is_third_party_claim,
|
17
|
+
:is_real_estate,
|
18
|
+
:execution_amount,
|
19
|
+
:income,
|
20
|
+
:quote,
|
21
|
+
:living_wage,
|
22
|
+
:execution_type,
|
23
|
+
:enforcement_group,
|
24
|
+
:third_party_claim,
|
25
|
+
:real_estate,
|
26
|
+
:reclamation_objects,
|
27
|
+
:unpaid_debts_certificate_date,
|
28
|
+
:is_continuable_after_6months,
|
29
|
+
:unpaid_debts_amount,
|
30
|
+
:gain,
|
31
|
+
:loss,
|
32
|
+
:unpaid_debts_type,
|
33
|
+
:gain_dropdown,
|
34
|
+
:unpaid_debts_certificate_no,
|
35
|
+
:claim_petition_date,
|
36
|
+
:opening_of_bankruptcy_date,
|
37
|
+
:opening_of_bankruptcy_process,
|
38
|
+
:opening_of_bankruptcy_process_no,
|
39
|
+
:directive_date,
|
40
|
+
:decision_date,
|
41
|
+
:judicial_vitiation_date,
|
42
|
+
:legal_effect_date,
|
43
|
+
:case_no_directive,
|
44
|
+
:case_no_decision,
|
45
|
+
:cip_dossier_no,
|
46
|
+
:unpaid_debts_certificate_transfer_application_date
|
47
|
+
|
48
|
+
def initialize(attributes = {})
|
49
|
+
if attributes.is_a? Hash
|
50
|
+
attributes.merge! :record_type => '19'
|
51
|
+
attributes.each do |key, value|
|
52
|
+
self.send("#{key}=".to_sym, value) if self.respond_to?("#{key}=")
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def to_cip(with_line_terminator = true)
|
58
|
+
cip_default_data << fill_up(
|
59
|
+
{
|
60
|
+
:enforcement_date => 10,
|
61
|
+
:enforcement_demand_action => 10,
|
62
|
+
:delivery_date => 10,
|
63
|
+
:continue_date => 10,
|
64
|
+
:enforcement_no => 32,
|
65
|
+
:enforcement_on => 32,
|
66
|
+
:enforcement_bureau => 120,
|
67
|
+
:comment => 120,
|
68
|
+
:processes_to_date => 10,
|
69
|
+
:execution_date => 10,
|
70
|
+
:reclamation_from_date => 10,
|
71
|
+
:reclamation_to_date => 10,
|
72
|
+
:is_income_variable => 1,
|
73
|
+
:is_third_party_claim => 1,
|
74
|
+
:is_real_estate => 1,
|
75
|
+
:execution_amount => 15,
|
76
|
+
:income => 15,
|
77
|
+
:quote => 15,
|
78
|
+
:living_wage => 15,
|
79
|
+
:execution_type => 32,
|
80
|
+
:enforcement_group => 32,
|
81
|
+
:third_party_claim => 64,
|
82
|
+
:real_estate => 64,
|
83
|
+
:reclamation_objects => 240,
|
84
|
+
:unpaid_debts_certificate_date => 10,
|
85
|
+
:is_continuable_after_6months => 1,
|
86
|
+
:unpaid_debts_amount => 15,
|
87
|
+
:gain => 15,
|
88
|
+
:loss => 15,
|
89
|
+
:unpaid_debts_type => 32,
|
90
|
+
:gain_dropdown => 32,
|
91
|
+
:unpaid_debts_certificate_no => 32,
|
92
|
+
:claim_petition_date => 10,
|
93
|
+
:opening_of_bankruptcy_date => 10,
|
94
|
+
:opening_of_bankruptcy_process => 32,
|
95
|
+
:opening_of_bankruptcy_process_no => 32,
|
96
|
+
:directive_date => 10,
|
97
|
+
:decision_date => 10,
|
98
|
+
:judicial_vitiation_date => 10,
|
99
|
+
:legal_effect_date => 10,
|
100
|
+
:case_no_directive => 32,
|
101
|
+
:case_no_decision => 32,
|
102
|
+
:cip_dossier_no => 9,
|
103
|
+
:unpaid_debts_certificate_transfer_application_date => 10
|
104
|
+
}, with_line_terminator
|
105
|
+
)
|
106
|
+
end
|
107
|
+
|
108
|
+
end
|
109
109
|
end
|
data/lib/ci_power/record.rb
CHANGED
@@ -1,42 +1,42 @@
|
|
1
|
-
module CiPower
|
2
|
-
class Record
|
3
|
-
attr_accessor :record_type,
|
4
|
-
:group_no,
|
5
|
-
:address_identification_debtee,
|
6
|
-
:address_identification_debtor
|
7
|
-
{}
|
8
|
-
def cip_default_data
|
9
|
-
_fill_up(:record_type => 2, :group_no => 7, :address_identification_debtee => 25, :address_identification_debtor => 25)
|
10
|
-
end
|
11
|
-
|
12
|
-
def fill_up(data, with_line_terminator = true)
|
13
|
-
_fill_up(data) + (with_line_terminator ? line_terminator : '')
|
14
|
-
end
|
15
|
-
|
16
|
-
def line_terminator
|
17
|
-
"\n"
|
18
|
-
end
|
19
|
-
|
20
|
-
private
|
21
|
-
def _fill_up(data)
|
22
|
-
line = ""
|
23
|
-
if data.is_a? Hash
|
24
|
-
data.each do |method_name, length|
|
25
|
-
field = method(method_name).call
|
26
|
-
field = field.to_s unless field.is_a? String
|
27
|
-
# Workaround for special characters problem
|
28
|
-
if field.scan(/./mu).size < field.size
|
29
|
-
length = adjust_length(field, length)
|
30
|
-
end
|
31
|
-
line << field.ljust(length)
|
32
|
-
end
|
33
|
-
end
|
34
|
-
line
|
35
|
-
end
|
36
|
-
|
37
|
-
def adjust_length(string, length)
|
38
|
-
difference = string.size - string.scan(/./mu).size
|
39
|
-
length += difference
|
40
|
-
end
|
41
|
-
end
|
1
|
+
module CiPower
|
2
|
+
class Record
|
3
|
+
attr_accessor :record_type,
|
4
|
+
:group_no,
|
5
|
+
:address_identification_debtee,
|
6
|
+
:address_identification_debtor
|
7
|
+
{}
|
8
|
+
def cip_default_data
|
9
|
+
_fill_up(:record_type => 2, :group_no => 7, :address_identification_debtee => 25, :address_identification_debtor => 25)
|
10
|
+
end
|
11
|
+
|
12
|
+
def fill_up(data, with_line_terminator = true)
|
13
|
+
_fill_up(data) + (with_line_terminator ? line_terminator : '')
|
14
|
+
end
|
15
|
+
|
16
|
+
def line_terminator
|
17
|
+
"\n"
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
def _fill_up(data)
|
22
|
+
line = ""
|
23
|
+
if data.is_a? Hash
|
24
|
+
data.each do |method_name, length|
|
25
|
+
field = method(method_name).call
|
26
|
+
field = field.to_s unless field.is_a? String
|
27
|
+
# Workaround for special characters problem
|
28
|
+
if field.scan(/./mu).size < field.size
|
29
|
+
length = adjust_length(field, length)
|
30
|
+
end
|
31
|
+
line << field.ljust(length)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
line
|
35
|
+
end
|
36
|
+
|
37
|
+
def adjust_length(string, length)
|
38
|
+
difference = string.size - string.scan(/./mu).size
|
39
|
+
length += difference
|
40
|
+
end
|
41
|
+
end
|
42
42
|
end
|
data/lib/ci_power/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
module CiPower
|
2
|
-
VERSION = "0.0.
|
3
|
-
end
|
1
|
+
module CiPower
|
2
|
+
VERSION = "0.0.25"
|
3
|
+
end
|
data/lib/ci_power.rb
CHANGED
@@ -1,13 +1,13 @@
|
|
1
|
-
require "ci_power/version"
|
2
|
-
|
3
|
-
require "ci_power/export"
|
4
|
-
|
5
|
-
require "ci_power/record"
|
6
|
-
require "ci_power/dossier_data"
|
7
|
-
require "ci_power/address"
|
8
|
-
require "ci_power/communication"
|
9
|
-
require "ci_power/debt_claim"
|
10
|
-
require "ci_power/action"
|
11
|
-
require "ci_power/open_appointment"
|
12
|
-
require "ci_power/debtor_data"
|
13
|
-
require "ci_power/installment_plan"
|
1
|
+
require "ci_power/version"
|
2
|
+
|
3
|
+
require "ci_power/export"
|
4
|
+
|
5
|
+
require "ci_power/record"
|
6
|
+
require "ci_power/dossier_data"
|
7
|
+
require "ci_power/address"
|
8
|
+
require "ci_power/communication"
|
9
|
+
require "ci_power/debt_claim"
|
10
|
+
require "ci_power/action"
|
11
|
+
require "ci_power/open_appointment"
|
12
|
+
require "ci_power/debtor_data"
|
13
|
+
require "ci_power/installment_plan"
|
@@ -1,12 +1,12 @@
|
|
1
|
-
module CiPower
|
2
|
-
module Generators
|
3
|
-
class CiPowerGenerator < Rails::Generators::Base
|
4
|
-
source_root File.expand_path('../templates', __FILE__)
|
5
|
-
|
6
|
-
desc "This generator creates a model file at app/models"
|
7
|
-
def generate_cip_export
|
8
|
-
copy_file "cip_export.rb", "app/models/cip_export.rb"
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
1
|
+
module CiPower
|
2
|
+
module Generators
|
3
|
+
class CiPowerGenerator < Rails::Generators::Base
|
4
|
+
source_root File.expand_path('../templates', __FILE__)
|
5
|
+
|
6
|
+
desc "This generator creates a model file at app/models"
|
7
|
+
def generate_cip_export
|
8
|
+
copy_file "cip_export.rb", "app/models/cip_export.rb"
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
12
|
end
|
@@ -1,13 +1,13 @@
|
|
1
|
-
class CipExport
|
2
|
-
include CiPower::Export
|
3
|
-
|
4
|
-
def initialize(output)
|
5
|
-
# Define mapping for CI-Power export here. For example:
|
6
|
-
#
|
7
|
-
# Add dossier_data
|
8
|
-
# output << dossier_data(:reference_1 => '99999', :interest_rate => '15')
|
9
|
-
#
|
10
|
-
# Add communication
|
11
|
-
# output << communication(:type => 'T1', :text => '0812502850')
|
12
|
-
end
|
1
|
+
class CipExport
|
2
|
+
include CiPower::Export
|
3
|
+
|
4
|
+
def initialize(output)
|
5
|
+
# Define mapping for CI-Power export here. For example:
|
6
|
+
#
|
7
|
+
# Add dossier_data
|
8
|
+
# output << dossier_data(:reference_1 => '99999', :interest_rate => '15')
|
9
|
+
#
|
10
|
+
# Add communication
|
11
|
+
# output << communication(:type => 'T1', :text => '0812502850')
|
12
|
+
end
|
13
13
|
end
|
data/lib/tasks/ci_power.rake
CHANGED
@@ -1,24 +1,24 @@
|
|
1
|
-
namespace :ci_power do
|
2
|
-
OUTPUT_FILE = 'tmp/ci_power_export.txt'
|
3
|
-
|
4
|
-
desc 'Extract data from application'
|
5
|
-
task :extract_data => :environment do
|
6
|
-
@content = CipExport.new.output.sort_by { |a| [a.group_no, a.record_type] }
|
7
|
-
end
|
8
|
-
|
9
|
-
desc 'Export data into output file'
|
10
|
-
task :export => :extract_data do
|
11
|
-
File.open(OUTPUT_FILE, "w+") do |file|
|
12
|
-
@content.each do |line|
|
13
|
-
file.puts line.to_cip
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
desc 'Removes output file'
|
19
|
-
task :clean do
|
20
|
-
rm OUTPUT_FILE
|
21
|
-
end
|
22
|
-
|
23
|
-
task :default => "ci_power:export"
|
1
|
+
namespace :ci_power do
|
2
|
+
OUTPUT_FILE = 'tmp/ci_power_export.txt'
|
3
|
+
|
4
|
+
desc 'Extract data from application'
|
5
|
+
task :extract_data => :environment do
|
6
|
+
@content = CipExport.new.output.sort_by { |a| [a.group_no, a.record_type] }
|
7
|
+
end
|
8
|
+
|
9
|
+
desc 'Export data into output file'
|
10
|
+
task :export => :extract_data do
|
11
|
+
File.open(OUTPUT_FILE, "w+") do |file|
|
12
|
+
@content.each do |line|
|
13
|
+
file.puts line.to_cip
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
desc 'Removes output file'
|
19
|
+
task :clean do
|
20
|
+
rm OUTPUT_FILE
|
21
|
+
end
|
22
|
+
|
23
|
+
task :default => "ci_power:export"
|
24
24
|
end
|
@@ -1,75 +1,75 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
module CiPower
|
4
|
-
describe Export do
|
5
|
-
# created dummy class with module behaviour
|
6
|
-
let(:dummy_class) do
|
7
|
-
Class.new do
|
8
|
-
extend(CiPower::Export)
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
context "when module is included" do
|
13
|
-
it "output should an empty array" do
|
14
|
-
dummy_class.output.should be_instance_of Array
|
15
|
-
dummy_class.output.should be_empty
|
16
|
-
end
|
17
|
-
|
18
|
-
it "group_no should be 0" do
|
19
|
-
dummy_class.group_no.should == 0
|
20
|
-
end
|
21
|
-
|
22
|
-
it "data_format should be '%Y%m%d'" do
|
23
|
-
dummy_class.date_format.should == '%Y%m%d'
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
describe "#convert_date" do
|
28
|
-
it "when date is valid should convert date to format" do
|
29
|
-
|
30
|
-
unconverted_date = Time.local 2012, 7, 31
|
31
|
-
|
32
|
-
converted_date = dummy_class.convert_date(unconverted_date)
|
33
|
-
converted_date.should == "20120731"
|
34
|
-
end
|
35
|
-
|
36
|
-
it "when date is not valid do nothing" do
|
37
|
-
converted_date = dummy_class.convert_date("XXX")
|
38
|
-
converted_date.should be_nil
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
describe "#date_format" do
|
43
|
-
it "should change the date format" do
|
44
|
-
dummy_class.date_format = 'new_format'
|
45
|
-
dummy_class.date_format.should == 'new_format'
|
46
|
-
end
|
47
|
-
|
48
|
-
context "when the date format is changed" do
|
49
|
-
before(:each) { dummy_class.date_format = '%d-%m-%Y' }
|
50
|
-
|
51
|
-
it "should format the date with the new format" do
|
52
|
-
date_string = dummy_class.convert_date Time.local(2012, 7, 31)
|
53
|
-
date_string.should == "31-07-2012"
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
{:dossier_data_record => 'CiPower::DossierData',
|
59
|
-
:address_record => 'CiPower::Address',
|
60
|
-
:communication_record => 'CiPower::Communication',
|
61
|
-
:debtor_data_record => 'CiPower::DebtorData',
|
62
|
-
:debt_claim_record => 'CiPower::DebtClaim',
|
63
|
-
:action_record => 'CiPower::Action',
|
64
|
-
:open_appointment_record => 'CiPower::OpenAppointment',
|
65
|
-
:installment_plan_record => 'CiPower::InstallmentPlan'
|
66
|
-
}.each do |method, clazz|
|
67
|
-
describe "##{method.to_s}" do
|
68
|
-
it "generates a new instance of #{clazz}" do
|
69
|
-
record = dummy_class.send(method, :test => 'test')
|
70
|
-
record.should be_instance_of clazz.split("::").inject(Object) { |ref, clazz| ref::const_get(clazz) }
|
71
|
-
end
|
72
|
-
end
|
73
|
-
end
|
74
|
-
end
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module CiPower
|
4
|
+
describe Export do
|
5
|
+
# created dummy class with module behaviour
|
6
|
+
let(:dummy_class) do
|
7
|
+
Class.new do
|
8
|
+
extend(CiPower::Export)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
context "when module is included" do
|
13
|
+
it "output should an empty array" do
|
14
|
+
dummy_class.output.should be_instance_of Array
|
15
|
+
dummy_class.output.should be_empty
|
16
|
+
end
|
17
|
+
|
18
|
+
it "group_no should be 0" do
|
19
|
+
dummy_class.group_no.should == 0
|
20
|
+
end
|
21
|
+
|
22
|
+
it "data_format should be '%Y%m%d'" do
|
23
|
+
dummy_class.date_format.should == '%Y%m%d'
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
describe "#convert_date" do
|
28
|
+
it "when date is valid should convert date to format" do
|
29
|
+
|
30
|
+
unconverted_date = Time.local 2012, 7, 31
|
31
|
+
|
32
|
+
converted_date = dummy_class.convert_date(unconverted_date)
|
33
|
+
converted_date.should == "20120731"
|
34
|
+
end
|
35
|
+
|
36
|
+
it "when date is not valid do nothing" do
|
37
|
+
converted_date = dummy_class.convert_date("XXX")
|
38
|
+
converted_date.should be_nil
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
describe "#date_format" do
|
43
|
+
it "should change the date format" do
|
44
|
+
dummy_class.date_format = 'new_format'
|
45
|
+
dummy_class.date_format.should == 'new_format'
|
46
|
+
end
|
47
|
+
|
48
|
+
context "when the date format is changed" do
|
49
|
+
before(:each) { dummy_class.date_format = '%d-%m-%Y' }
|
50
|
+
|
51
|
+
it "should format the date with the new format" do
|
52
|
+
date_string = dummy_class.convert_date Time.local(2012, 7, 31)
|
53
|
+
date_string.should == "31-07-2012"
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
{:dossier_data_record => 'CiPower::DossierData',
|
59
|
+
:address_record => 'CiPower::Address',
|
60
|
+
:communication_record => 'CiPower::Communication',
|
61
|
+
:debtor_data_record => 'CiPower::DebtorData',
|
62
|
+
:debt_claim_record => 'CiPower::DebtClaim',
|
63
|
+
:action_record => 'CiPower::Action',
|
64
|
+
:open_appointment_record => 'CiPower::OpenAppointment',
|
65
|
+
:installment_plan_record => 'CiPower::InstallmentPlan'
|
66
|
+
}.each do |method, clazz|
|
67
|
+
describe "##{method.to_s}" do
|
68
|
+
it "generates a new instance of #{clazz}" do
|
69
|
+
record = dummy_class.send(method, :test => 'test')
|
70
|
+
record.should be_instance_of clazz.split("::").inject(Object) { |ref, clazz| ref::const_get(clazz) }
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
75
|
end
|