2016-12-21 3 views
1

Le bloc #update ne s'exécute pas. Pourquoi? Comment changer pour les exécuter tous. #anything fonctionne très bien.rspec ne lance pas le premier cas de test

describe UsersController, type: :controller do 
    login_admin 

    describe '#update' do 
    def user_update_params(roles:) 
     { 
     role_ids: roles.map(&:id), 
     name: 'new' 
     } 
    end 

    shared_examples_for 'update user' do 
     it 'change the user' do 
     expect do 
      put :update, id: user.id, user: user_params 
     end.to change { user.reload.name } 
     end 
    end 
    end 

    describe '#anything' do 
    it 'is ok' do 
     #runs ok 
    end 
    end 
end 

Répondre

1

C'est un exemple partagé, pas un vrai test. Il est supposé être inclus dans d'autres groupes de tests. Comme ceci:

describe '#whatever' do 
    it_behaves_like 'update user' 

    it 'runs shared example' do 
    end 
    end