2013-08-20 7 views
10

Wygląda jak błąd w RSpec, ale być może czegoś brakuje.Test żądania RSpec scala hasze w tablicy w testach POST JSON

mam prośbę specyfikację gdzie zamieścić JSON, który zawiera szereg skrótów:

niespełniającego/wnioski/dummy_request_spec.rb:

post "http://my.server.com/some/route", { 
    format: :json, 
    data: [ 
    { 
     details: { 
     param1: 1 
     }, 
    }, 
    { 
     details: { 
     param2: 1 
     } 
    } 
    ] 
} 

Z jakiegoś dziwnego powodu, RSpec łączy skrótów język jeden element, a następnie wysyła je na serwer. drukuj z params otrzymał w kontrolerze:

data: [ 
    { 
    details: { 
     param1: 1, 
     param2: 2 
    }, 
    }, 
] 

wersje: rspec-2.13.0 szyn-3.2.10

Bardzo dziwne !!

Dziękujemy

Odpowiedz

19

Gotowy! tablica skrótów nie jest obsługiwana dla danych formularza
Domyślnie RSpec publikuje ją jako dane formularza. Rozwiązanie:

post '...', {...}.to_json, {'CONTENT_TYPE' => "application/json", 'ACCEPT' => 'application/json'} 
0

Należy również pamiętać, że masz dodatkowy przecinek:

data: [ 
    { 
    details: { 
    param1: 1 
    }**,** 
    }, 
    { 
    details: { 
    param2: 1 
    } 
    } 
]