T2T2’s diary

アウトプット

201019アウトプット 15日目

TECHCAMP15日目

標】

手を動かし確実に、一歩ずつ進める努力をする。

何故しているのか30分タイマーで無理思考を中断させて、思考の見直しをする。

 

習事項】

◯ factorybot.create

新規の確認とは異なり、既存のユーザーのログインを再現するので、factory.createを使用して既に登録されているユーザーのインスタンスを作成する。

@user = FactoryBot.create(:user)
@tweet_text = Faker::Lorem.sentence
@tweet_image = Faker::Lorem.sentence

 

◯ have_selecter


have_selecterを使用することによって、移動先のページに投稿した画像について表示されているのかどうかを確認する事ができる

expect(page).to have_selector
".content_post[style='background-image: url(#{@tweet_image});']"

 

 ◯ イートの編集の考え方について

①ログインして編集できる

 ログインして編集できない

②→他人のツイートなので編集ができない

③→ログインしていないから編集ができない

 

◯ have_link

要素の中のリンクがあるのか確認できる

expect(all('.more')[1].hover).to have_link '編集',href: edit_tweet_path(@tweet1)

 

◯ all()[0]

findで探せない、対象が複数ある場合に使用する

expect(all('.more')[1].hover).to have_link '編集',href: edit_tweet_path(@tweet1)

 

◯ finde().click

ボタンのクリックを再現したい場合に使用する

expect{find('input[name="commit"]').click}.to change {Comment.count}.by(1)

 

◯ find_link().click

リンクのクリックを再現したい場合に使用する

all(".more")[1].hover.find_link('削除', href: tweet_path(@tweet1)).click
}.to change { Tweet.count }.by(-1)
 
◯ case文

ifよりシンプルにコードがかける

country = "Japan"

case country
when "Japan"
 puts "こんにちは"
when "America"
 puts "Hello"
else "Germany"
 puts "Guten Tag
end

 

◯ while文

条件付きの繰り返しの際に使用する

number = 0

while number <= 5
 puts number
 number += 1
end

# 出力結果
# 0
# 1
 ・
 ・
# 5

 

◯ breakについて

ループから脱出するために使用する

number = 0

while number <= 5
 if number == 3
   break
 end
 puts number
 number += 1
end

# 出力結果
# 0
# 1
# 2
# 3

 

日の振り返り】

気がついたら21時30分になっていた感覚のある1日。

先週よりも1日に対して、真剣に向き合い作業ができたと感じる。

1週間前も意気込みこそ今週よりも優っていたが、やはり空回り感があった。

明日も、今日のように積み重ねている自覚を持った日々を過ごす。