main
 1require "spec_helper"
 2require 'sequel'
 3require_relative 'integration/fixtures/studio_mapping.rb'
 4require_relative 'integration/fixtures/movie_mapping.rb'
 5require_relative 'integration/fixtures/review_mapping.rb'
 6
 7shared_context "orm" do
 8  let(:connection) { Sequel.connect(connection_string) }
 9  let(:connection_string) { 'sqlite://test.db' }
10  let(:configuration) { Humble::Configuration.new(connection_string) }
11  let(:session_factory) { configuration.build_session_factory }
12  let(:session) { session_factory.create_session }
13
14  before :each do
15    connection.create_table :studios do
16      primary_key :id
17      String :name
18    end
19
20    connection.create_table :movies do
21      primary_key :id
22      BigNum :studio_id
23      String :name
24    end
25
26    connection.create_table :reviews do
27      primary_key :id
28      BigNum :movie_id
29      String :description
30    end
31
32    configuration.add(MovieMapping.new)
33    configuration.add(StudioMapping.new)
34    configuration.add(ReviewMapping.new)
35  end
36
37  after :each do
38    connection.drop_table :studios
39    connection.drop_table :movies
40    connection.drop_table :reviews
41  end
42end