From af22ee1a5454797afbd0ea16c0f948ea66a019e9 Mon Sep 17 00:00:00 2001 From: Hauke Klement Date: Thu, 5 Mar 2015 11:59:56 +0100 Subject: [PATCH] added tests --- spec/lib/file_tree_spec.rb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/spec/lib/file_tree_spec.rb b/spec/lib/file_tree_spec.rb index 963ec8fa..64995936 100644 --- a/spec/lib/file_tree_spec.rb +++ b/spec/lib/file_tree_spec.rb @@ -73,6 +73,24 @@ describe FileTree do end end + describe '#initialize' do + let(:file_tree) { described_class.new(files) } + let(:files) { FactoryGirl.build_list(:file, 10, context: nil, path: 'foo/bar/baz') } + + it 'creates a root node' do + expect_any_instance_of(Tree::TreeNode).to receive(:initialize).with(file_tree.send(:root_label)) + file_tree.send(:initialize) + end + + it 'creates tree nodes for every file' do + expect(file_tree.select(&:content).map(&:content)).to eq(files) + end + + it 'creates tree nodes for intermediary path segments' do + expect(file_tree.reject(&:content).reject(&:is_root?).map(&:name)).to eq(files.first.path.split('/')) + end + end + describe '#map_to_js_tree' do let(:file) { FactoryGirl.build(:file) } let(:js_tree) { file_tree.send(:map_to_js_tree, node) }