spec/lib/smilodon_spec.rb in smilodon-0.0.2 vs spec/lib/smilodon_spec.rb in smilodon-0.2.2

- old
+ new

@@ -21,11 +21,11 @@ end end describe FakePopulator, '.file' do it 'should return the configured file name' do - FakePopulator.files.should == ['TestFile'] + FakePopulator.file.should == 'TestFile' end end describe FakePopulator, '.type' do context 'when no file type is configured' do @@ -44,71 +44,7 @@ describe FakePopulator, '.process(row)' do it 'should raise an exception with a message to define the method in the extended populator class' do lambda { FakePopulator.process }.should raise_exception(MethodNotOverridden) - end -end - -describe FakePopulator, '.files' do - it 'should return the configured file names' do - FakePopulatorWithMultipleFiles.files.should == ['TestFile1', 'TestFile2', 'TestFile3'] - end - - it 'should handle an options hash' do - FakePopulatorWithMultipleFiles.directory.should == 'db/populate/files' - end - - it 'calls read for each file passed to populate' do - FakePopulatorWithMultipleFiles.files.each { |f| FakePopulatorWithMultipleFiles.should_receive(:read).with(f).and_return('') } - FakePopulatorWithMultipleFiles.run - end - - context 'given a directory and no files' do - it 'sets files to all the files in directory' do - FakePopulatorWithOnlyDirectory.files.sort.should == ['bar', 'foo'].sort - end - end -end - -describe FakePopulator, '.run' do - module TestPopulator - extend Smilodon::Populator - populates 'abc' - end - - context 'header is true' do - let!(:csv) { ["id,name", "1,atsuya"].join("\n") } - - before do - TestPopulator.header = true - TestPopulator.stub(:read).and_return(csv) - TestPopulator.should_receive(:process).once - TestPopulator.run - end - - it 'should process csv file' do - TestPopulator.header.should == ["id", "name"] - end - - it 'calls process for each non-header row' do - end - end - - context 'header is false' do - let!(:csv) { ["id,name", "1,atsuya"].join("\n") } - - before do - TestPopulator.header = false - TestPopulator.stub(:read).and_return(csv) - TestPopulator.should_receive(:process).twice - TestPopulator.run - end - - it 'should process csv file' do - TestPopulator.header.should == false - end - - it 'calls process for each row' do - end end end