spec/bumblebee/bumblebee_spec.rb in bumblebee-2.0.1 vs spec/bumblebee/bumblebee_spec.rb in bumblebee-2.1.0
- old
+ new
@@ -33,27 +33,47 @@
let(:csv) { "name,dob\nMatt,1901-01-03\nNathan,1931-09-03\n" }
let(:quoted_csv) { "\"name\",\"dob\"\n\"Matt\",\"1901-01-03\"\n\"Nathan\",\"1931-09-03\"\n" }
- it 'should generate a csv' do
+ it 'should generate a csv using column argument' do
actual = Bumblebee.generate_csv(columns, people)
expect(actual).to eq(csv)
end
+ it 'should generate a csv using block' do
+ actual = Bumblebee.generate_csv(people) do |t|
+ columns.each do |column|
+ t.column column[:field]
+ end
+ end
+
+ expect(actual).to eq(csv)
+ end
+
it 'should generate a csv and accept options' do
options = {
force_quotes: true
}
actual = ::Bumblebee.generate_csv(columns, people, options)
expect(actual).to eq(quoted_csv)
end
- it 'should parse a csv' do
+ it 'should parse a csv using columns argument' do
objects = Bumblebee.parse_csv(columns, csv)
+
+ expect(objects).to eq(people)
+ end
+
+ it 'should parse a csv using columns block' do
+ objects = Bumblebee.parse_csv(csv) do |t|
+ columns.each do |column|
+ t.column column[:field]
+ end
+ end
expect(objects).to eq(people)
end
it 'should parse a csv with columns in different order than headers' do