spec/lib/bankserv/engine/engine_spec.rb in bankserv-0.3.3 vs spec/lib/bankserv/engine/engine_spec.rb in bankserv-0.3.4
- old
+ new
@@ -24,10 +24,16 @@
FileUtils.mkdir(Dir.pwd + "/spec/examples/95345") unless File.directory?(Dir.pwd + "/spec/examples/95345")
FileUtils.mkdir(Dir.pwd + "/spec/examples/95345/archive") unless File.directory?(Dir.pwd + "/spec/examples/95345/archive")
FileUtils.mkdir(Dir.pwd + "/spec/examples/95345/incoming") unless File.directory?(Dir.pwd + "/spec/examples/95345/incoming")
FileUtils.mkdir(Dir.pwd + "/spec/examples/95345/outgoing") unless File.directory?(Dir.pwd + "/spec/examples/95345/outgoing")
+ FileUtils.mkdir(Dir.pwd + "/spec/examples/K010831") unless File.directory?(Dir.pwd + "/spec/examples/K010831")
+ FileUtils.mkdir(Dir.pwd + "/spec/examples/K010831/archive") unless File.directory?(Dir.pwd + "/spec/examples/K010831/archive")
+ FileUtils.mkdir(Dir.pwd + "/spec/examples/K010831/incoming") unless File.directory?(Dir.pwd + "/spec/examples/K010831/incoming")
+ FileUtils.copy(Dir.pwd + "/spec/examples/TJRRECF.0602", Dir.pwd + "/spec/examples/K010831/incoming/")
+ FileUtils.copy(Dir.pwd + "/spec/examples/TJRRECF.0605", Dir.pwd + "/spec/examples/K010831/incoming/")
+
FileUtils.copy(Dir.pwd + "/spec/examples/tmp/OUTPUT0412153500.txt", Dir.pwd + "/spec/examples/9534/incoming/")
FileUtils.copy(Dir.pwd + "/spec/examples/tmp/REPLY0412153000.txt", Dir.pwd + "/spec/examples/9534/incoming/")
Bankserv::EngineConfiguration.create!(interval_in_minutes: 15, input_directory: "/tmp", output_directory: "/tmp", archive_directory: "/tmp")
end
@@ -39,13 +45,14 @@
FileUtils.rm_rf(Dir.pwd + "/spec/examples/host2host/archives", secure: true)
FileUtils.rm_rf(Dir.pwd + "/spec/examples/9534", secure: true)
FileUtils.rm_rf(Dir.pwd + "/spec/examples/9999", secure: true)
FileUtils.rm_rf(Dir.pwd + "/spec/examples/99999", secure: true)
FileUtils.rm_rf(Dir.pwd + "/spec/examples/95345", secure: true)
- File.delete(Dir.pwd + "/spec/tmp/harry.txt")
- File.delete(Dir.pwd + "/spec/tmp/sally.txt")
- File.delete(Dir.pwd + "/spec/tmp/molly.txt")
+ File.delete(Dir.pwd + "/spec/tmp/harry.txt") if File.exists?(Dir.pwd + "/spec/tmp/harry.txt")
+ File.delete(Dir.pwd + "/spec/tmp/sally.txt") if File.exists?(Dir.pwd + "/spec/tmp/sally.txt")
+ File.delete(Dir.pwd + "/spec/tmp/molly.txt") if File.exists?(Dir.pwd + "/spec/tmp/molly.txt")
+ FileUtils.rm_rf(Dir.pwd + "/spec/examples/K010831", secure: true)
end
context "Prepare engine" do
it "should contain default values from the migration" do
@@ -168,51 +175,47 @@
(Dir.glob("#{@service.config[:outgoing_directory]}/INPUT*.txt").size == 1).should be_true
end
end
- context "integration testing" do
- pending
+ context "Integration testing for statement service" do
+ before(:all) do
+ tear_it_down
+
+ Bankserv::StatementService.register({
+ client_code: "10831",
+ client_name: "RENTAL CONNECT PTY LTD",
+ user_code: "AA0A",
+ transmission_status: "L",
+ transmission_number: "1",
+ incoming_directory: Dir.pwd + "/spec/examples/K010831/incoming",
+ outgoing_directory: Dir.pwd + "/spec/examples/K010831/outgoing",
+ reply_directory: Dir.pwd + "/spec/examples/K010831/incoming",
+ archive_directory: Dir.pwd + "/spec/examples/K010831/archive",
+ generation_number: 27
+ })
+
+ Bankserv::Engine.start
+ end
- # before(:all) do
- # tear_it_down
- # Timecop.travel(Time.local(2012, 4, 10, 10, 5, 0))
- # @tmpdir = Dir.pwd + "/spec/tmp"
- # @ahv_service = Bankserv::AHVService.register(client_code: '12345', internal_branch_code: '632005', department_code: "506", client_name: "TESTTEST", client_abbreviated_name: 'TESTTEST', generation_number: 1, transmission_status: "L", transmission_number: "1", user_code: '95345', outgoing_directory: Dir.pwd + "/spec/examples/95345/outgoing", incoming_directory: Dir.pwd + "/spec/examples/95345/incoming", reply_directory: Dir.pwd + "/spec/examples/95345/incoming", archive_directory: Dir.pwd + "/spec/examples/95345/archive")
- # @debit_service = Bankserv::DebitService.register(client_code: '12346', client_name: "TESTTEST", client_abbreviated_name: 'TESTTEST', generation_number: 1, transmission_status: "L", transmission_number: "1", user_code: '99999',outgoing_directory: Dir.pwd + "/spec/examples/99999/outgoing", incoming_directory: Dir.pwd + "/spec/examples/99999/incoming", reply_directory: Dir.pwd + "/spec/examples/99999/incoming", archive_directory: Dir.pwd + "/spec/examples/99999/archive")
- # @credit_service = Bankserv::CreditService.register(client_code: '12347', client_name: "TESTTEST", client_abbreviated_name: 'TESTTEST', user_code: "9999", generation_number: 1, transmission_status: "L", transmission_number: "1", outgoing_directory: Dir.pwd + "/spec/examples/9999/outgoing", incoming_directory: Dir.pwd + "/spec/examples/9999/incoming", reply_directory: Dir.pwd + "/spec/examples/9999/incoming", archive_directory: Dir.pwd + "/spec/examples/9999/archive")
- # Bankserv::EngineConfiguration.create!(interval_in_minutes: 15, input_directory: @tmpdir, output_directory: @tmpdir, archive_directory: @tmpdir)
- #
- # # test that engine can process different service types at once (generate 3 files with one run)
- # # Bankserv::AccountHolderVerification.should_receive(:generate_reference_number).exactly(8).times.and_return("AHV67","AHV68","AHV69","AHV70","AHV71","AHV72","AHV73","AHV74")
- # create_ahv_requests_scenario(@ahv_service)
- # create_debit_requests_scenario(@debit_service)
- # create_credit_requests_scenario(@credit_service)
- #
- # e = Bankserv::Engine.start
- # # e.should_receive(:generate_input_file_name).and_return("harry.txt", "sally.txt", "molly.txt")
- # # e.process!
- # end
- #
- # it "should process ahv requests" do
- # puts Dir.glob("#{@ahv_service.config[:outgoing_directory]}/INPUT*.txt").last
- # # expected_string = File.open("#{Dir.pwd}/spec/examples/95345/outgoing/INPUT.120410144410.txt", "rb").read
- # expected_string = File.open(Dir.glob("#{@ahv_service.config[:outgoing_directory]}/INPUT*.txt").last, "rb").read
- # got_string = File.open(@tmpdir + '/harry.txt', "rb").read
- # got_string.should == expected_string
- # end
- #
- # it "should process debit requests" do
- # expected_string = File.open("#{Dir.pwd}/spec/examples/99999/outgoing/INPUT.120411110604.txt", "rb").read
- # got_string = File.open(@tmpdir + '/sally.txt', "rb").read
- # got_string.should == expected_string
- # end
- #
- # it "should process credit requests" do
- # expected_string = File.open("#{Dir.pwd}/spec/examples/9999/outgoing/INPUT.120411124123.txt", "rb").read
- # got_string = File.open(@tmpdir + '/molly.txt', "rb").read
- # got_string.should == expected_string
- # end
+ it "should process all statement files" do
+ Bankserv::Statement.all.size.should == 2
+ end
+
+ it "should mark the statements as processed" do
+ Bankserv::Statement.all.each do |statement|
+ statement.should be_processed
+ end
+ end
+
+ it "should move the statements to the archive directory" do
+ Dir.entries(Dir.pwd + "/spec/examples/K010831/incoming").should == [".", ".."]
+ Dir.entries(Dir.pwd + "/spec/examples/K010831/archive").should == [".", "..", "2008"]
+ end
+
+ it "should mark the engines process as completed" do
+ Bankserv::Engine.running?.should be_false
+ end
end
end
\ No newline at end of file