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