On Wednesday, 24 October 2018 09:04:51 UTC+2, belgoros wrote:
>
>
>
> 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
>
I moved the above methods inside the main *RSpec.describe* block and all
the tests passed. So should we always keep them there or there is another
best practice ?
Thank you.
>
> ---------------------------
>> [email protected]
>> 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/38fd3048-39fb-4a10-9fe1-bd90bf29cb85%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.