On Tuesday, 23 October 2018 21:52:38 UTC+2, Jon Rowe wrote:
>
> Its looks like your doubles are some how leaking between examples, I’d 
> wager its something to do with your service injector but I’m unsure without 
> a proper example.
>
> Cheers
> Jon Rowe
>

I think the problem comes from #successful_response method, - I checked and 
discovered that I had 2 ones in different specs, both are declared outside 
of main *RSpec.describe* block like that:

#spec_one_spec.rb

RSpec.describe 'SpecOne' do
...# some examples
end

def successful_response
  double(:response, code: 200)
end

#spec_two_spec.rb

RSpec.describe 'SpecTwo' do
...# some examples
end

def successful_response
  double(:response, code: 200, body: '[{"sport_id": 1, "label": "sport-1"}, 
{"sport_id": 2, "label": "sport-2"}]')
end

What is the rule of thumb to declare such a kind of helper methods ? Should 
we put them inside the main *RSpec.describe* block, outside, make them 
private ?

Cheers

---------------------------
> [email protected] <javascript:>
> jonrowe.co.uk
>
> On 23 October 2018 at 15:58, belgoros wrote:
>
> On Tuesday, 23 October 2018 16:55:35 UTC+2, belgoros wrote:
> I forgot to put the rest of the example (*see the dummy service 
> initialization*):
>
> it 'sends a successful response with sports data' do
>
>       
> ServiceProvider.register(:sports_service, SuccessfulSportsService)
>
>       service 
> = ServiceProvider.get(:sports_service)
>
>       allow
> (service).to receive(:execute_request).with(anything).and_return(
> successful_response)
>
>       
>       service_data 
> = service.
> call
>       sports_values_to_check 
> = service_data.map {|sport| {id: sport.id, label: sport.label}}
>
>       expect
> (sports_values_to_check).to include(id: 1, label: 'sport-1')
>
>     
> end 
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"rspec" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rspec/38e7a446-b91f-4e01-a89f-c9e600a2680e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to