質問編集履歴

2

application_controller.rbの追加。

2021/10/13 11:42

投稿

Engineer_traine
Engineer_traine

スコア17

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

コードの追加

2021/10/13 11:42

投稿

Engineer_traine
Engineer_traine

スコア17

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