2016-04-13 23 views
0

bu RSpec Ajax isteği nasıl test edilirbenim gösteri eylem senaryoları yöntemi sınamak çalışıyorum

def scenarios 
    @scenarios ||= fund.present? ? fund.scenarios : [] 
end 

def fund 
    @fund ||= funds.find_by(id: fund_id) 
end 

def fund_id 
    return nil unless params.fetch(:report, false) 
    params.fetch(:report).fetch(:fund_id, 0) 
end 

i ajax isteği almak ve bunun dışında fund_id ait params'ı kapmak gerekir olduğunu düşünüyorum ancak Ben bunu nasıl emin değilim ya da olup olmadığını

bu benim js benim benim ajax isteği iki bağlamları

test etmek istiyorum

$('#geodistributions-filter-form-container') 
    .on('change', 'select#report_fund_id', function() { 
    $.get('/reports/geodistribution.js',        
    $(this).parents('form').serialize()); 
}); 

dosyası yapmak varsayalım ben ne

bağlam 'bir fon mevcut olduğunda senaryo'

bağlam 'bir fon mevcut olmadığı senaryo'

Birinin o olur bana doğru yönde işaret edebilir, bu test başlamak nasıl emin değilim mükemmel ol. Seni doğru anlamış eğer

cevap

1

Eh, senin ajax çağrıları olmadığını test etmek istiyorum. Sen Capybara gibi kabul testleri çerçevelerini kullanın veya basitçe tıpkı diğer denetleyici çağrısı gibi /reports/geodistribution.js URL'ye çağrı test edebilirsiniz. Kurulum (Fund olmadan Fund ile) gerekli ortam ve doğru davranır kontrol edin.

Ben de kodunuzu biraz planı ayrı olacaktır:

def scenarios 
    @scenarios ||= fund.try(:scenarios) : [] 
end 

def fund 
    # if there is no fund found, let it throw an exception 
    @fund ||= Funds.find(params[:report][:fund_id]) 
end 
i Esasen sadece gösteri eylem olduğu senaryolar yöntemi test etmek için ..... ama gelen fon kimliği almak zorunda yapmak istiyorum
+0

parametreler bu benim javascript benim gET isteğine geçirilir ediliyor ...... benim gözlük o fund_id param nasıl emin değilim gerçi = ( – user1502223

+0

eklemek sorgulandığında '? rapor [fund_id] = 1' için URL. daha iyi bir yol, bir Fonu dönmek dönmek ya da olmamak modelinizin '.find()' yöntemini alay etmek olacaktır. – Uzbekjon

İlgili konular