category.rb revision 56cef2d91f243b2b1f773acc20f9c5ae9fb5c537
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksarequire 'spec_helper'
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksadescribe Category do
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa context 'get ontologies of a category and subcategories' do
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa before do
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa edge = FactoryGirl.create(:c_edge)
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa onto1 = FactoryGirl.create(:ontology)
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa onto2 = FactoryGirl.create(:ontology)
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa onto1.categories = [Category.find(edge.parent_id)]
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa onto1.save!
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa onto2.categories = [Category.find(edge.child_id)]
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa onto2.save!
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa @parent_category = Category.find(edge.parent_id)
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa @child_category = Category.find(edge.child_id)
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa end
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa it do
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa @parent_category.related_ontologies.count.should == 2
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa end
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa it do
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa @child_category.related_ontologies.count.should == 1
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa end
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa end
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa context 'creation of categories from ontology' do
a688b2f16fc414f7cf11fc66623e6229e39b4483Eugen Kuksa before do
@user = FactoryGirl.create :user
@ontology = FactoryGirl.create :single_ontology
parse_this(@user, @ontology, fixture_file('Domain_Fields_Core.xml'), fixture_file('Domain_Fields_Core.pp.xml'))
@ontology.create_categories
end
it 'should be the correct categories count' do
Category.count.should == 123
end
it 'should be the correct category edges count' do
CEdge.count.should == 122
end
end
end