From d5f5c3d7f2d92c180c56053c994a148afd63118a Mon Sep 17 00:00:00 2001 From: Matthew Lemon Date: Wed, 20 Dec 2023 17:15:29 +0000 Subject: Adds factory_bot to rspec testing suite --- Gemfile | 1 + Gemfile.lock | 6 ++++++ spec/factories/events.rb | 11 +++++++++++ spec/requests/events_spec.rb | 2 +- 4 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 spec/factories/events.rb diff --git a/Gemfile b/Gemfile index 5907986..cea169a 100644 --- a/Gemfile +++ b/Gemfile @@ -51,6 +51,7 @@ group :development, :test do # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem gem "debug", platforms: %i[ mri windows ] gem 'rspec-rails', '~> 6.1.0' + gem 'factory_bot_rails' end group :development do diff --git a/Gemfile.lock b/Gemfile.lock index b621212..626a9db 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -106,6 +106,11 @@ GEM drb (2.2.0) ruby2_keywords erubi (1.12.0) + factory_bot (6.4.2) + activesupport (>= 5.0.0) + factory_bot_rails (6.4.2) + factory_bot (~> 6.4) + railties (>= 5.0.0) globalid (1.2.1) activesupport (>= 6.1) i18n (1.14.1) @@ -265,6 +270,7 @@ DEPENDENCIES capybara cssbundling-rails debug + factory_bot_rails jbuilder jsbundling-rails pry (~> 0.14.2) diff --git a/spec/factories/events.rb b/spec/factories/events.rb new file mode 100644 index 0000000..8fbba83 --- /dev/null +++ b/spec/factories/events.rb @@ -0,0 +1,11 @@ +FactoryBot.define do + factory :event do + name { "MyString" } + date { "2023-12-20" } + organisation + end + + factory :organisation do + name { "Smersh" } + end +end diff --git a/spec/requests/events_spec.rb b/spec/requests/events_spec.rb index f168576..96183ae 100644 --- a/spec/requests/events_spec.rb +++ b/spec/requests/events_spec.rb @@ -19,7 +19,7 @@ RSpec.describe "/events", type: :request do # adjust the attributes here as well. let(:valid_attributes) { # skip("Add a hash of attributes valid for your model") - { date: Date.new(2023, 1, 10), name: "Stunner", organisation_id: "2" } + build :event.attributes # build uses the factory and attributes converts to a hash.... } let(:invalid_attributes) { -- cgit v1.2.3