• Luke Duncalfe's avatar
    Fix logic in Api::Internal test · 37492c5d
    Luke Duncalfe authored
    The intention of this test is to ensure that the service class
    MergeRequests::PushOptionsHandlerService does not run when the
    :mr_push_options feature flag is disabled.
    
    This test was passing, however was not testing what it was supposed to
    be!
    
    For one, setting Feature.disable(:feature) in the test does not disable
    the feature, as rspec config in spec_helper stubs Feature to make all
    features enabled:
    
    https://gitlab.com/gitlab-org/gitlab-ce/commit/3ee48e422defaedd69946c607bd8d3672e510375
    
    So the feature was still enabled in the test.
    
    But this test wasn't failing because unfortunately I had put:
    
    ```
    expect(MergeRequests::PushOptionsHandlerService).to receive(:new)
    ```
    
    instead of not_to!
    
    This meant that the `.new` method was being stubbed, so the service
    class did not create a MergeRequest, which satisfied the second
    expectation.
    
    ```
    expect(MergeRequests::PushOptionsHandlerService).to receive(:new)
    ```
    37492c5d
internal_spec.rb 39 KB