2016-03-27 22 views
0

Bunu sorunsuz olarak çözmeye çalışıyorum. RSPec'i Faricator ile kullanıyorum ve testler geçemiyorum. Sorun, oluşturma eyleminde görünür. Güncelleştirme (benzer sözdizimiyle) gayet iyi çalışıyor. Web sitesi formundan her şey düzgün çalışıyor, bu yüzden özelliklerle oldukça sorun olduğuna inanıyorum. kontrol spektrumu:Rspec 3 ve Fabricator - denetleyici özellikleri, yeni kayıt oluşturulamıyor

describe 'POST #create' do 
    before { set_current_admin admin } 
    context 'admin users' do 
    context 'a successful create' do 
     before do 
     post :create, director: Fabricate.attributes_for(:director) 
     end 

     it 'saves new director object' do 
     #require 'pry'; binding.pry 
     expect(Director.count).to eq(1) 
     end 

     it 'redirects to directors path' do 
     expect(response).to redirect_to directors_path 
     end 

     it 'sets a successful flash message' do 
     expect(flash[:success]).to eq('Reżyser został zapisany.') 
     end 
    end 
    end 
end 

set_current_admin yönetici yöntemi yönetici olarak kullanıcı kaydeder. Gözetlemenin doğru olduğunu ve günlüğe kaydedilen kullanıcının bir yönetici olduğunu kontrol ettim. Yönetmen kontrolörü:

class DirectorsController < ApplicationController 
    before_action :set_director, only: [:edit, :update, :destroy, :show] 
    before_action :admin_user, except: [:index, :show] 

    def create 
    @director = Director.new(directors_params) 
    if @director.save 
     flash[:success] = 'Reżyser został zapisany.' 
     redirect_to directors_path 
    else 
     flash[:danger] = 'Coś poszło nie tak, spróbuj ponownie.' 
     render :new 
    end 
    end 

Bunun için ne gibi bir çözüm olabileceğini biliyor musunuz?

+0

POST yürütüldüğünde, "flash [: tehlike]' ye atanan yol izleniyor mu? Eğer öyleyse, yorumlanmış binding.pry konumunda 'atamalar (: yönetmen) .errors'ın çıktısı nedir? –

+0

var: => # , @messages = {: bio => [" boş. "]}> Faker :: Hipster.paragraphs çalışmıyor gibi görünüyor. Faker :: Lorem.paragraf olarak değiştirdim ve güzelce çalıştı! Ben yardım için teşekkür ederim! – wbucko

cevap

1

Ürün özellikleri doğru. Faker::Hipster.paragraph yerine Faker::Hipster.paragraphs - Yanlış Faker elementi kullandım. Birincisi bir dizi oluşturdu ve ikinci bir dize.