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.