-
Notifications
You must be signed in to change notification settings - Fork 0
/
csvgenerator_spec.rb
66 lines (57 loc) · 2.05 KB
/
csvgenerator_spec.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
$: << '.'
require "resume_reader"
require "resume"
require "format_manager"
require "generators/pdf_generator"
require "generators/csv_generator"
require "main"
describe "main class functionality" do
it "should call the appropriate method depending on user choice" do
main = Main.new
main.fetch_generators
PdfGenerator.any_instance.should_receive(:create_output_file)
main.call_generator(1)
end
end
describe "storing data in the resume object" do
it "should accept user input" do
reader = ResumeReader.new
reader.stub(:get_input).with("Name: ").and_return("Greg")
reader.stub(:get_input).with("Age: ").and_return(30)
reader.stub(:get_input).with("Institution: ").and_return("TVS")
reader.stub(:get_input).with("Experience: ").and_return(3)
resume = reader.read_from_console
resume.name.should == "Greg"
resume.age.should == 30
resume.institution == "TVS"
resume.experience == 3
end
end
describe "load the resume generator of given format" do
before(:each) do
@resume = Resume.new
@resume.name = "Greg"
@resume.age = 30
@resume.institution = "TVS"
@resume.experience = 3
end
it "should load the csv generator" do
csvgenerator = CsvGenerator.new(@resume)
csvgenerator.data_record.should == [@resume.name, @resume.age, @resume.institution, @resume.experience]
end
it "should load the pdfgenerator" do
pdfgenerator = PdfGenerator.new(@resume)
pdfgenerator.data_record.should == [@resume.name, @resume.age, @resume.institution, @resume.experience]
end
it "should load generator classes automatically" do
formatmanager = FormatManager.new
#fetch files from generators folder
available_formats = formatmanager.fetch_formats
available_formats.should_not be_nil
#test a generator
userclass = formatmanager.retrieve_class_name(available_formats[0])
userclass.should == CsvGenerator
userformatgenerator = userclass.new(@resume)
userformatgenerator.data_record.should == [@resume.name, @resume.age, @resume.institution, @resume.experience]
end
end