質問編集履歴
2
application_controller.rbの追加。
test
CHANGED
File without changes
|
test
CHANGED
@@ -18,6 +18,8 @@
|
|
18
18
|
|
19
19
|
使用していました。
|
20
20
|
|
21
|
+
application_controller.rbではdef current_userで定義してあります。
|
22
|
+
|
21
23
|
またrspecにてbeforeでログインしていないという動作を怠ったということも考えましたが
|
22
24
|
|
23
25
|
ちゃんとログインするような記述はしておりました。
|
@@ -588,6 +590,56 @@
|
|
588
590
|
|
589
591
|
|
590
592
|
|
593
|
+
```
|
594
|
+
|
595
|
+
class ApplicationController < ActionController::Base
|
596
|
+
|
597
|
+
helper_method :current_user
|
598
|
+
|
599
|
+
|
600
|
+
|
601
|
+
def login?
|
602
|
+
|
603
|
+
if current_user.nil?
|
604
|
+
|
605
|
+
redirect_to login_path, alert: "ログインが必要です。"
|
606
|
+
|
607
|
+
end
|
608
|
+
|
609
|
+
end
|
610
|
+
|
611
|
+
|
612
|
+
|
613
|
+
def already_login?
|
614
|
+
|
615
|
+
unless current_user.nil?
|
616
|
+
|
617
|
+
redirect_to user_path, notice: "ログイン済みです。"
|
618
|
+
|
619
|
+
end
|
620
|
+
|
621
|
+
end
|
622
|
+
|
623
|
+
|
624
|
+
|
625
|
+
def current_user
|
626
|
+
|
627
|
+
if session[:user_id]
|
628
|
+
|
629
|
+
current_user ||= User.find(session[:user_id])
|
630
|
+
|
631
|
+
end
|
632
|
+
|
633
|
+
current_user
|
634
|
+
|
635
|
+
end
|
636
|
+
|
637
|
+
end
|
638
|
+
|
639
|
+
```
|
640
|
+
|
641
|
+
|
642
|
+
|
591
643
|
### 試したこと
|
592
644
|
|
593
645
|
|
1
コードの追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -18,6 +18,10 @@
|
|
18
18
|
|
19
19
|
使用していました。
|
20
20
|
|
21
|
+
またrspecにてbeforeでログインしていないという動作を怠ったということも考えましたが
|
22
|
+
|
23
|
+
ちゃんとログインするような記述はしておりました。
|
24
|
+
|
21
25
|
どなたか原因特定できる方もしいましたらご教授お願い致します。
|
22
26
|
|
23
27
|
|
@@ -416,6 +420,174 @@
|
|
416
420
|
|
417
421
|
|
418
422
|
|
423
|
+
```
|
424
|
+
|
425
|
+
require 'rails_helper'
|
426
|
+
|
427
|
+
|
428
|
+
|
429
|
+
RSpec.describe "Caves", type: :request do
|
430
|
+
|
431
|
+
describe "#new" do
|
432
|
+
|
433
|
+
let(:cafe) { create(:cafe) }
|
434
|
+
|
435
|
+
let(:user) { create(:user) }
|
436
|
+
|
437
|
+
|
438
|
+
|
439
|
+
before do
|
440
|
+
|
441
|
+
session_params = { session: { email: user.email, password: user.password } }
|
442
|
+
|
443
|
+
post "/login", params: session_params
|
444
|
+
|
445
|
+
end
|
446
|
+
|
447
|
+
|
448
|
+
|
449
|
+
it 'カフェ登録画面の表示に成功すること' do
|
450
|
+
|
451
|
+
get '/caves/new'
|
452
|
+
|
453
|
+
expect(response).to have_http_status(200)
|
454
|
+
|
455
|
+
end
|
456
|
+
|
457
|
+
end
|
458
|
+
|
459
|
+
|
460
|
+
|
461
|
+
describe "#create" do
|
462
|
+
|
463
|
+
let(:cafe) { create(:cafe) }
|
464
|
+
|
465
|
+
let(:user) { create(:user) }
|
466
|
+
|
467
|
+
|
468
|
+
|
469
|
+
before do
|
470
|
+
|
471
|
+
session_params = { session: { email: user.email, password: user.password } }
|
472
|
+
|
473
|
+
post "/login", params: session_params
|
474
|
+
|
475
|
+
end
|
476
|
+
|
477
|
+
|
478
|
+
|
479
|
+
it 'カフェ作成に成功すること' do
|
480
|
+
|
481
|
+
valid_params = { image: cafe.image, name: cafe.name, address: cafe.address, number_seats: cafe.number_seats }
|
482
|
+
|
483
|
+
expect { post '/caves/new', params: { cafe: valid_params } }
|
484
|
+
|
485
|
+
expect(response).to have_http_status(200)
|
486
|
+
|
487
|
+
end
|
488
|
+
|
489
|
+
end
|
490
|
+
|
491
|
+
|
492
|
+
|
493
|
+
describe "#show" do
|
494
|
+
|
495
|
+
let(:cafe) { create(:cafe) }
|
496
|
+
|
497
|
+
let(:user) { create(:user) }
|
498
|
+
|
499
|
+
|
500
|
+
|
501
|
+
before do
|
502
|
+
|
503
|
+
session_params = { session: { email: user.email, password: user.password } }
|
504
|
+
|
505
|
+
post "/login", params: session_params
|
506
|
+
|
507
|
+
end
|
508
|
+
|
509
|
+
|
510
|
+
|
511
|
+
it 'カフェ詳細画面の表示に成功すること' do
|
512
|
+
|
513
|
+
get "/caves/#{cafe.id}"
|
514
|
+
|
515
|
+
expect(response).to have_http_status(200)
|
516
|
+
|
517
|
+
end
|
518
|
+
|
519
|
+
end
|
520
|
+
|
521
|
+
|
522
|
+
|
523
|
+
describe "#edit" do
|
524
|
+
|
525
|
+
let(:cafe) { create(:cafe) }
|
526
|
+
|
527
|
+
let(:user) { create(:user) }
|
528
|
+
|
529
|
+
|
530
|
+
|
531
|
+
before do
|
532
|
+
|
533
|
+
session_params = { session: { email: user.email, password: user.password } }
|
534
|
+
|
535
|
+
post "/login", params: session_params
|
536
|
+
|
537
|
+
end
|
538
|
+
|
539
|
+
|
540
|
+
|
541
|
+
it 'カフェ編集画面の表示に成功すること' do
|
542
|
+
|
543
|
+
get "/caves/#{cafe.id}/edit"
|
544
|
+
|
545
|
+
expect(response).to have_http_status(200)
|
546
|
+
|
547
|
+
end
|
548
|
+
|
549
|
+
end
|
550
|
+
|
551
|
+
|
552
|
+
|
553
|
+
describe "#update" do
|
554
|
+
|
555
|
+
let(:cafe) { create(:cafe) }
|
556
|
+
|
557
|
+
let(:user) { create(:user) }
|
558
|
+
|
559
|
+
|
560
|
+
|
561
|
+
before do
|
562
|
+
|
563
|
+
session_params = { session: { email: user.email, password: user.password } }
|
564
|
+
|
565
|
+
post "/login", params: session_params
|
566
|
+
|
567
|
+
end
|
568
|
+
|
569
|
+
|
570
|
+
|
571
|
+
it 'カフェの編集に成功すること' do
|
572
|
+
|
573
|
+
get "/caves/#{cafe.id}/edit"
|
574
|
+
|
575
|
+
valid_params = { image: cafe.image, name: cafe.name, address: cafe.address, number_seats: cafe.number_seats }
|
576
|
+
|
577
|
+
expect { put "/caves/#{cafe.id}", params: { cafe: valid_params } }
|
578
|
+
|
579
|
+
expect(response).to have_http_status(200)
|
580
|
+
|
581
|
+
end
|
582
|
+
|
583
|
+
end
|
584
|
+
|
585
|
+
end
|
586
|
+
|
587
|
+
```
|
588
|
+
|
589
|
+
|
590
|
+
|
419
591
|
### 試したこと
|
420
592
|
|
421
593
|
|