spec/models/article_spec.rb • Factoryで初期値があるため、上記は成功します require 'rails_helper' RSpec.describe Article, type: :model do let(:article) { build(:article) } describe "#validations" do it '正常なデータが作成できること ' do expect(article).to be_valid end end end
titleが空ではダメな旨、エラー情報が追加される ▪ spec/models/article_spec.rb context "title" do it 'titleが空の場合、不正データとなる ' do article.title = '' expect(article).not_to be_valid expect(article.errors[:title]).to include("can't be blank") end end
まずはstatus code200が返ることをテストします • spec/requests/articles_spec.rb describe "POST /articles" do let (:params) do { title: 'text', content: 'content' } end subject do post "/articles", headers: { "Content-Type" => "application/json" }, params: params.to_json end context "正しいリクエストがあった場合 " do it "status code 200を返す" do subject expect(response.status).to eq(200) end end end
"誤ったリクエストがあった場合 " do let (:params) { { title: '', content: 'content' } } it "status code 400を返す" do subject expect(response.status).to eq(400) end it "正しいレスポンスが返ること " do subject response_body = JSON.load(response.body) expect(response_body['message']).to eq "FAILURE" expect(response_body['detail']).to eq ({ "title" => ["can't be blank"] }) end it "データが増減しないこと " do expect { subject }.to change{ Article.count }.by(0) end end
ENERGY FOR A BETTER WORLD 私たちENECHANGEは、「エネルギー革命」を技術革新により推進し、 より良い世界を創出することをミッションとしています。 世界はいま、脱炭素社会の実現を求めています。 そのためには、「エネルギーの4D革命」による技術革新が必要不可欠です。 ENECHANGE、エネルギー(ENERGY)を変革する(CHANGE) そんな社名を名付けられたこの会社は、 エネルギー問題に人生をかけて取り組んでいきたい、 と思う多くの人々の想いが集結してつくられた会社です。 エネルギーの未来をつくる ミッション