Class: JsonApiClientMock::MockConnection

Inherits:
Object
  • Object
show all
Defined in:
lib/json_api_client_mock/mock_connection.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeMockConnection

Returns a new instance of MockConnection.



9
10
11
12
# File 'lib/json_api_client_mock/mock_connection.rb', line 9

def initialize
  # ignored
  @mocks = {}
end

Class Method Details

.instanceObject



5
6
7
# File 'lib/json_api_client_mock/mock_connection.rb', line 5

def self.instance
  @instance ||= self.new
end

Instance Method Details

#clear_test_resultsObject



29
30
31
# File 'lib/json_api_client_mock/mock_connection.rb', line 29

def clear_test_results
  @mocks = {}
end

#execute(query) ⇒ Object



14
15
16
17
18
19
20
21
22
# File 'lib/json_api_client_mock/mock_connection.rb', line 14

def execute(query)
  if results = find_test_results(query)
    OpenStruct.new(:body => {
      query.klass.table_name => results[:results]
    })
  else
    raise MissingMock, "no test results set for #{query.klass.name} with conditions: #{query.params.inspect}"
  end      
end

#set_test_results(klass, results, conditions = nil) ⇒ Object



24
25
26
27
# File 'lib/json_api_client_mock/mock_connection.rb', line 24

def set_test_results(klass, results, conditions = nil)
  @mocks[klass.name] ||= []
  @mocks[klass.name].unshift({results: results, conditions: conditions})
end