Advertisement
Guest User

Untitled

a guest
Apr 1st, 2022
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Rails 1.50 KB | None | 0 0
  1. require 'faker'
  2.  
  3. FactoryBot.define do
  4.   factory :user do
  5.     name { Faker::Name.name }
  6.     email { Faker::Internet.email }
  7.     password { Faker::Internet.password }
  8.   end
  9.  
  10.   factory :budget do
  11.     name { Faker::Name.name }
  12.     user
  13.   end
  14.  
  15.   factory :budget_entry do
  16.     category { "Food" }
  17.     name { Faker::Name.name}
  18.     price { "$67.32" }
  19.     date { Faker::Date.in_date_period(month:2)}
  20.     budget
  21.     user
  22.   end
  23. end
  24.  
  25. RSpec.describe "BudgetEntries", type: :request do
  26.   describe "controller methods" do
  27.     before(:each) do
  28.       @user = create(:user)
  29.       @budget = create(:budget, user_id: @user.id)
  30.     end
  31.     let(:budget_entries_params) do
  32.       {
  33.         budget_entry: {
  34.           category: "Food",
  35.           name: "cabbage",
  36.           price: "3.50",
  37.           budget_id: @budget.id
  38.         }
  39.       }
  40.     end
  41.     context "GET /index" do
  42.       it "should return unauthorized if user is not logged in" do
  43.         get api_v1_budget_entries_path
  44.         expect(response).to have_http_status(401)
  45.       end
  46.       it "should return 200 if user is logged in" do
  47.         headers = { 'Accept' => 'application/json' }
  48.         auth_headers = Devise::JWT::TestHelpers.auth_headers(headers, @user)
  49.         get api_v1_budget_entries_path, headers: auth_headers
  50.         expect(response).to have_http_status(200)
  51.       end
  52.     end
  53.       def index
  54.         budget = Budget.where(id: params[:id])[0]
  55.         budget_entries = BudgetEntry.where(budget_id: budget.id)
  56.         ...
  57.       end
  58.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement