jeudi 28 janvier 2016

What is the Best Practice for testing api controllers(active model serializers)?

I am working on an app and up to this point I have been testing just stuff like authentication and request response codes. but it seems like a good idea to test the structure of the payload. ie. if there is embedded resources or sidloaded resources. how do you guys test this. here is a sample of some of the testing I am doing. I am using active model serializers. but seems like a bit of cruft to organize.

describe '#index' do
  it 'should return an array of email templates' do
    template = EmailTemplate.new(name: 'new email template')
    EmailTemplate.stub(:all).and_return([template])
    get :index
    payload = {:email_templates => [JSON.parse(response.body)["email_templates"][0].symbolize_keys]}
    template_as_json_payload = {:email_templates => [ActiveModel::SerializableResource.new(template).as_json[:email_template] ]}
    expect(payload).to eq(template_as_json_payload)
  end
end

Aucun commentaire:

Enregistrer un commentaire