今回、ユーザーコントローラを編集してユーザーコントローラ内に下記のようなメソッドを書きました。
内容としましては、ユーザー名に絵文字などが含まれていたらエラーを返すというものです。
class UsersController < ApplicationController def change_username username = params[:username].try(:strip) if username.blank? return head :bad_request end username_chars = username.each_char.select{|c| c.bytes.count >= 4} if username_chars.size > 0 render json: {error: I18n.t("controllers.users.disable_word_used")}, status: :bad_request else if Account.where(username: username).where.not(id: current_account.id).present? render json: {error: I18n.t("controllers.users.already_used")}, status: :bad_request else current_account.update! username: username head :ok end end end end
このようなメソッドを書いた時に、
rspecを用いたテストの書き方がわかりません。
requires 'rails_helper' Rspec.describe UsersController, :type => :controller do end
どなたかテストをどういう風に書いたら良いか教えていただけないでしょうか。
すみませんが宜しくお願いいたします。
あなたの回答
tips
プレビュー