Commit 1e343db

mo khan <mo@mokhan.ca>
2013-05-22 02:32:20
move existing test to integration folder
1 parent 41779de
spec/integration/fixtures/movie_mapping.rb
@@ -0,0 +1,26 @@
+class Movie
+  attr_reader :name
+
+  def initialize(attributes)
+    @name = attributes[:name]
+  end
+end
+
+class MovieMapping
+  def is_for?(item)
+    item == Movie || item.is_a?(Movie)
+  end
+
+  def save_using(connection, item)
+    connection[:movies].insert(:name => item.name)
+  end
+
+  def find_all_using(connection, clazz)
+    connection[:movies]
+  end
+
+  def run(map)
+    map.table :movies
+  end
+end
+
spec/integration/example_spec.rb
@@ -0,0 +1,43 @@
+require "spec_helper"
+require_relative 'fixtures/movie_mapping.rb'
+
+describe "orm" do
+  let(:connection) { Sequel.connect(connection_string) }
+  let(:connection_string) { 'sqlite://test.db' }
+  let(:configuration) { Humble::Configuration.new(connection_string) }
+  let(:session_factory) { configuration.build_session_factory }
+  let(:session) { session_factory.create_session }
+
+  before :each do
+    connection.create_table :movies do
+      primary_key :id
+      String :name
+    end
+
+    configuration.add(MovieMapping.new)
+    session.begin_transaction do |session|
+      session.save(Movie.new(:name => 'monsters inc'))
+    end
+  end
+
+  after :each do
+    connection.drop_table :movies
+  end
+
+  context "when fetching all items" do
+    let(:results) { session.find_all Movie }
+
+    it "should return the correct number of movies" do
+      results.count.should == 1
+    end
+
+    xit "should return each movie with its name" do
+      results.first.name.should == 'monsters inc'
+    end
+
+    xit "should return instances of the target type" do
+      results.first.should be_instance_of(Movie)
+    end
+  end
+
+end
spec/example_spec.rb
@@ -1,60 +0,0 @@
-require "rubygems"
-require 'sequel'
-require "sqlite3"
-require 'humble'
-
-class Movie
-  attr_reader :name
-
-  def initialize(attributes)
-    @name = attributes[:name]
-  end
-end
-
-class MovieMapping
-  def is_for?(item)
-    item == Movie || item.is_a?(Movie)
-  end
-
-  def save_using(connection, item)
-    connection[:movies].insert(:name => item.name)
-  end
-
-  def find_all_using(connection, clazz)
-    connection[:movies]
-  end
-
-  def run(map)
-    map.table :movies
-  end
-end
-
-
-describe "orm" do
-  let(:connection) { Sequel.connect(connection_string) }
-  let(:connection_string) { 'sqlite://test.db' }
-
-  before :each do
-    connection.create_table :movies do
-      primary_key :id
-      String :name
-    end
-  end
-
-  after :each do
-    connection.drop_table :movies
-  end
-
-  it "should work like this" do
-    configuration = Humble::Configuration.new(connection_string)
-    configuration.add(MovieMapping.new)
-    session_factory = configuration.build_session_factory
-    session = session_factory.create_session
-    session.begin_transaction do |session|
-      session.save(Movie.new(:name => 'monsters inc'))
-    end
-
-    movies = session.find_all Movie
-    movies.count.should == 1
-  end
-end
spec/spec_helper.rb
@@ -0,0 +1,4 @@
+require "rubygems"
+require 'sequel'
+require "sqlite3"
+require 'humble'