質問編集履歴

3

整形

2019/12/09 10:37

投稿

CrankTank
CrankTank

スコア12

test CHANGED
File without changes
test CHANGED
@@ -76,7 +76,7 @@
76
76
 
77
77
  user.rb
78
78
 
79
-
79
+ ```
80
80
 
81
81
  class User < ApplicationRecord
82
82
 

2

user_test.rb追加いたしました。

2019/12/09 10:37

投稿

CrankTank
CrankTank

スコア12

test CHANGED
File without changes
test CHANGED
@@ -102,6 +102,164 @@
102
102
 
103
103
 
104
104
 
105
+ user_test.rb
106
+
107
+
108
+
109
+ require 'test_helper'
110
+
111
+
112
+
113
+ class UserTest < ActiveSupport::TestCase
114
+
115
+ # test "the truth" do
116
+
117
+ # assert true
118
+
119
+ # end
120
+
121
+
122
+
123
+ def setup
124
+
125
+ @user = User.new(name: "Chosu Riki", email:"kuttemina@tobuzo.com",
126
+
127
+ password: "chosu", password_confirmation: "chosu")
128
+
129
+ end
130
+
131
+
132
+
133
+ test "should be valid" do
134
+
135
+ @user.save
136
+
137
+ assert @user.valid?
138
+
139
+ end
140
+
141
+
142
+
143
+ test "name should be present" do
144
+
145
+ @user.name = " "
146
+
147
+ assert_not @user.valid?
148
+
149
+ end
150
+
151
+
152
+
153
+ test "name should not be too long" do
154
+
155
+ @user.name = "a" * 51
156
+
157
+ assert_not @user.valid?
158
+
159
+ end
160
+
161
+ #email validation section
162
+
163
+ test "email should not be too long" do
164
+
165
+ @user.email = "a" * 244 + "@tobuzoooo.com"
166
+
167
+ assert_not @user.valid?
168
+
169
+ end
170
+
171
+
172
+
173
+ test "email validation should accept valid addresses" do
174
+
175
+ valid_addresses = %w[user@example.com USER@foo.COM A_DHDH@foo.bar.org
176
+
177
+ first.last@foo.jp alice_bob@boz.cn]
178
+
179
+ valid_addresses.each do |valid_address|
180
+
181
+ @user.email = valid_address
182
+
183
+ assert @user.valid?, "#{valid_address.inspect} should be valid"
184
+
185
+ end
186
+
187
+ end
188
+
189
+
190
+
191
+ test "email validation should reject invalid addresses" do
192
+
193
+ invalid_addresses = %w[user@example,com user_at_foo.jp user.name@example.
194
+
195
+ foo@bar_baz.com foo@bar+bar.com user@foo..com]
196
+
197
+ invalid_addresses.each do |invalid_address|
198
+
199
+ @user.email = invalid_address
200
+
201
+ assert_not @user.valid?, "#{invalid_address.inspect} should be invalid"
202
+
203
+ end
204
+
205
+ end
206
+
207
+
208
+
209
+ test "email addresses should be unique" do
210
+
211
+ duplicate_user = @user.dup
212
+
213
+ duplicate_user.email = @user.email.upcase
214
+
215
+ @user.save
216
+
217
+ assert_not duplicate_user.valid?
218
+
219
+ end
220
+
221
+
222
+
223
+ test "email addresses should be downcase" do
224
+
225
+ random_case_email = "FOo@exAMple.Com"
226
+
227
+ @user.email = random_case_email
228
+
229
+ @user.save
230
+
231
+ assert_equal random_case_email.downcase, @user.reload.email
232
+
233
+ end
234
+
235
+
236
+
237
+ #password validation section
238
+
239
+ test "password should be present (nonblank)" do
240
+
241
+ @user.password = @user.password_confirmation = " " * 6
242
+
243
+ assert_not @user.valid?
244
+
245
+ end
246
+
247
+
248
+
249
+ test "password should have a minimum length" do
250
+
251
+ @user.password = @user.password_confirmation = "a" * 5
252
+
253
+ assert_not @user.valid?
254
+
255
+ end
256
+
257
+
258
+
259
+
260
+
261
+ end
262
+
105
263
 
106
264
 
107
265
  ```ここに言語名を入力

1

変更無し

2019/12/09 09:49

投稿

CrankTank
CrankTank

スコア12

test CHANGED
File without changes
test CHANGED
@@ -100,6 +100,10 @@
100
100
 
101
101
 
102
102
 
103
+
104
+
105
+
106
+
103
107
  ```ここに言語名を入力
104
108
 
105
109
  Ruby