diff --git a/Gemfile b/Gemfile index 426af93..e0c253c 100644 --- a/Gemfile +++ b/Gemfile @@ -22,9 +22,9 @@ gem 'jbuilder', '~> 2.7' # Use Active Model has_secure_password gem 'bcrypt' -gem 'bootstrap', '~> 4.0.0' -gem 'jquery-rails' -gem 'jquery-ui-rails' +# gem 'bootstrap', '~> 4.0.0' +# gem 'jquery-rails' +# gem 'jquery-ui-rails' # Use Active Storage variant # gem 'image_processing', '~> 1.2' diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss index a504bb2..2c727d4 100644 --- a/app/assets/stylesheets/application.scss +++ b/app/assets/stylesheets/application.scss @@ -1,4 +1,4 @@ -/* + /* * This is a manifest file that'll be compiled into application.css, which will include all the files * listed below. * @@ -13,13 +13,15 @@ *= require_tree . *= require_self */ - -@import "bootstrap"; - -.form-control { - width: inherit;s - - &.inline { - display: inline; - } -} \ No newline at end of file + + @import "bootstrap/scss/bootstrap"; + .form-control { + width: inherit; + &.inline { + display: inline; + } + } + + .alert.fade { + opacity: 0; + } \ No newline at end of file diff --git a/app/assets/stylesheets/errors.scss b/app/assets/stylesheets/errors.scss new file mode 100644 index 0000000..f7f5241 --- /dev/null +++ b/app/assets/stylesheets/errors.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the errors controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: https://sass-lang.com/ diff --git a/app/assets/stylesheets/organizations.scss b/app/assets/stylesheets/organizations.scss index 82f42bf..9afd5d0 100644 --- a/app/assets/stylesheets/organizations.scss +++ b/app/assets/stylesheets/organizations.scss @@ -1,3 +1,9 @@ // Place all the styles related to the Organizations controller here. // They will automatically be included in application.css. // You can use Sass (SCSS) here: https://sass-lang.com/ +.form-control { + width: inherit; + &.inline { + display: inline; + } +} \ No newline at end of file diff --git a/app/controllers/errors_controller.rb b/app/controllers/errors_controller.rb new file mode 100644 index 0000000..4fba65b --- /dev/null +++ b/app/controllers/errors_controller.rb @@ -0,0 +1,11 @@ +class ErrorsController < ApplicationController + def page_not_found + render status: 404 + end +end + + +def internal_server_error + render status: 500 +end +end \ No newline at end of file diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index 1a0f9de..d1fee3f 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -1,7 +1,7 @@ class OrganizationsController < ApplicationController before_action :logged_in_user, only: %i[show new create edit update] before_action :set_organization, only: %i[show edit update] - before_action :verify_access, only: %i[show edit update] + before_action :verify_access, only: %i[ edit update] rescue_from ActiveRecord::RecordNotFound, with: :render_not_found @@ -9,7 +9,11 @@ def index end def show - @org_shifts = Shift.where(organization_id: @organization.id).order("updated_at DESC") + if current_user.id == @organization.user_id + @org_shifts = Shift.where(organization_id: @organization.id).order("updated_at DESC") + else + @organization_bio = Organization.where(id: params[:id]).select(:org_name, :org_address, :org_description, :org_city, :org_state).first + end end def new diff --git a/app/controllers/workers_controller.rb b/app/controllers/workers_controller.rb index 605338b..4bd0654 100644 --- a/app/controllers/workers_controller.rb +++ b/app/controllers/workers_controller.rb @@ -1,14 +1,18 @@ class WorkersController < ApplicationController before_action :logged_in_user, only: %i[index show new create edit update] before_action :set_worker, only: %i[show edit update] - before_action :verify_access, only: %i[show edit update] + before_action :verify_access, only: %i[ edit update] rescue_from ActiveRecord::RecordNotFound, with: :render_not_found def index end def show - @worker_shifts = Shift.where(worker_id: current_user.id).order("updated_at DESC") + if current_user.id == @worker.user_id + @worker_shifts = Shift.where(worker_id: current_user.id).order("updated_at DESC") + else + @worker_bio = Worker.where(id: params[:id]).select(:first_name, :last_name, :bio).first + end end def new @@ -55,6 +59,6 @@ def verify_access end def worker_params - params.require(:worker).permit(:first_name, :last_name, :worker_city, :worker_state, :user_id) + params.require(:worker).permit(:first_name, :last_name, :worker_city, :worker_state, :bio, :user_id) end end diff --git a/app/helpers/errors_helper.rb b/app/helpers/errors_helper.rb new file mode 100644 index 0000000..8e3b415 --- /dev/null +++ b/app/helpers/errors_helper.rb @@ -0,0 +1,2 @@ +module ErrorsHelper +end diff --git a/app/javascript/packs/application.js b/app/javascript/packs/application.js index 2634bbd..c5215fa 100644 --- a/app/javascript/packs/application.js +++ b/app/javascript/packs/application.js @@ -8,12 +8,16 @@ require("turbolinks").start() require("@rails/activestorage").start() require("channels") require('jquery') -//= require jquery -//= require jquery_ujs +import 'bootstrap' +import 'bootstrap/dist/js/bootstrap' +import 'bootstrap/dist/css/bootstrap' +require("../../assets/stylesheets/application.scss") + //= require jquery + //= require jquery_ujs // Uncomment to copy all static images under ../images to the output folder and reference // them with the image_pack_tag helper in views (e.g <%= image_pack_tag 'rails.png' %>) // or the `imagePath` JavaScript helper below. // // const images = require.context('../images', true) -// const imagePath = (name) => images(name, true) +// const imagePath = (name) => images(name, true) \ No newline at end of file diff --git a/public/500.html b/app/views/errors/internal_server_error.html.erb similarity index 99% rename from public/500.html rename to app/views/errors/internal_server_error.html.erb index 78a030a..0fd6fca 100644 --- a/public/500.html +++ b/app/views/errors/internal_server_error.html.erb @@ -63,4 +63,4 @@

We're sorry, but something went wrong.

If you are the application owner check the logs for more information.

- + \ No newline at end of file diff --git a/app/views/errors/page_not_found.html.erb b/app/views/errors/page_not_found.html.erb new file mode 100644 index 0000000..df676b0 --- /dev/null +++ b/app/views/errors/page_not_found.html.erb @@ -0,0 +1,11 @@ +
+

Oops! Page Not Found

+

Sorry but the page you are looking for does not exist.

+

<%= link_to "Go Back Home", root_path, class: "btn btn-info pl-5 pr-5" %>

+
+ + + + + + diff --git a/app/views/layouts/_navigation.html.erb b/app/views/layouts/_navigation.html.erb index 24a959c..f33a1eb 100644 --- a/app/views/layouts/_navigation.html.erb +++ b/app/views/layouts/_navigation.html.erb @@ -1,19 +1,28 @@ - diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index dc94147..0ee0240 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -6,8 +6,9 @@ <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %> - - Shiftwork App + <%= stylesheet_pack_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> + +Shiftwork App diff --git a/app/views/organizations/show.html.erb b/app/views/organizations/show.html.erb index db682f5..f5736e7 100644 --- a/app/views/organizations/show.html.erb +++ b/app/views/organizations/show.html.erb @@ -1,4 +1,5 @@
+<% if @org_shifts %>

Your Shifts

<%= link_to "Create Shift", new_shift_path, class: "btn btn-primary" %>

@@ -33,11 +34,41 @@
<% unless shift.shift_open %>Worker Name<% end %>
- <% if shift.shift_open %><%= link_to "Edit", edit_shift_path(shift.id), class: "btn" %> <% end %> - <%= link_to "Delete", shift_path(shift.id), method: :delete, data: { confirm: "Are you sure?" }, class: "btn" %> -
+ <% if shift.shift_open %> + <%= link_to "Edit", edit_shift_path(shift.id), class: "btn btn-primary" %> + <%= link_to "Delete", shift_path(shift.id), method: :delete, data: { confirm: "Are you sure?" }, class: "btn btn-danger" %> + <% else %> +

Your shift has been filled and cannot be edited or deleted

+ <% end %> + <% end %> +<% else %> + +
+

<%= @organization_bio.org_name %>

+
+
+
+
    +
  • Address
  • +
  • City
  • +
  • State
  • +
  • Description
  • +
+
+
+
    +
  • <%= @organization_bio.org_address %>
  • +
  • <%= @organization_bio.org_city %>
  • +
  • <%= @organization_bio.org_state %>
  • +
  • <%= @organization_bio.org_description %>
  • +
+
+
+
+
+<% end %> \ No newline at end of file diff --git a/app/views/shifts/index.html.erb b/app/views/shifts/index.html.erb index bca2a9e..2508571 100644 --- a/app/views/shifts/index.html.erb +++ b/app/views/shifts/index.html.erb @@ -1,56 +1,54 @@
-

List of Shifts

-<% if current_user.has_org? %> -

<%= link_to 'Create Shift', new_shift_path, class: "btn btn-primary" %>

-<% end %> +

List of All Shifts

- -
- <% @shifts.each do |shift| %> -
-
-

<%= shift.shift_role %>

-
-
Organization Name
-
<%= shift.shift_org_name %>
-
-
-
Shift Starts
-
<%= shift.shift_start.httpdate %>
-
-
-
Shift Ends
-
<%= shift.shift_end.httpdate %>
-
-
-
Pay Rate
-
<%= shift.shift_pay %>
-
-
-
Shift Description
-
<%= shift.shift_description %>
-
-
-
Shift Status
-
OPEN<% else %> text-danger">Filled<% end %>
-
- <% if current_user.has_org? %> -
- <%= link_to 'Edit', edit_shift_path(shift.id), class: "btn btn-primary" %> - <%= link_to 'Delete', shift_path(shift.id), method: :delete, data: { confirm: 'Are you sure?' }, class: "btn btn-primary" %> -
- <% end %> - <% if current_user.worker? && shift.shift_open %> -
- <%= link_to 'Take Shift', take_shift_path(shift), method: :put, data: { confirm: 'You will be assigned to work this shift. Proceed?' }, class: "btn btn-primary" %> -
- <% end %> - <% if !shift.shift_open && shift.worker_id == current_user.id %> -
- <%= link_to 'Drop Shift', drop_shift_path(shift), method: :put, data: { confirm: 'You are about to DROP this shift. Proceed?' }, class: "btn btn-danger" %> -
- <% end %> -
+
+ <% @shifts.each do |shift| %> +
+
+

<%= shift.shift_role %>

+
+
Organization Name
+
<%= link_to shift.shift_org_name, organization_path(shift.organization_id) %>
+
+
+
Shift Starts
+
<%= in_user_timezone(shift.shift_start) %>
+
+
+
Shift Ends
+
<%= in_user_timezone(shift.shift_end) %>
+
+
+
Shift Duration
+
<%= distance_of_time_in_words(shift.shift_start, shift.shift_end) %>
+
+
+
Pay Rate
+
$<%= shift.shift_pay %>/hour
+
+
+
Shift Description
+
<%= shift.shift_description %>
+
+
+
Shift Status
+
OPEN<% else %> text-danger">Filled <% if shift.filled_by(current_user) %>(by you 😄)<% end %><% end %>
+
+ <% if current_user.worker? && shift.shift_open %> +
+ <%= link_to "Take Shift", take_shift_path(shift), method: :put, data: { confirm: "You will be assigned to work this shift. Proceed?" }, class: "btn btn-primary" %> +
+ <% end %> + <% if !shift.shift_open && shift.filled_by(current_user) %> +
+ <% if shift.can_be_dropped? %> + <%= link_to "Drop Shift", drop_shift_path(shift), method: :put, data: { confirm: "You are about to DROP this shift. Proceed?" }, class: "btn btn-danger" %> + <% else %> +

Your shift starts in less than 24 hours and cannot be dropped

+ <% end %> +
+ <% end %> +
<% end %>
diff --git a/app/views/users/index.html.erb b/app/views/users/index.html.erb index 4b6cb68..bce4f43 100644 --- a/app/views/users/index.html.erb +++ b/app/views/users/index.html.erb @@ -5,10 +5,10 @@

ShiftWork App

-

Are you a shiftworker looking for last-minute gigs? +

Are you a shiftworker looking for last-minute gigs? Or a business owner with open shifts to fill?


-

The Shiftwork app can connect you to shift opportunities or shiftworkers!

+

The Shiftwork app can connect you to shift opportunities or shiftworkers!

<%= link_to "Sign up", new_user_path, class: "btn btn-info pl-5 pr-5" %>

diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb index f316b5f..7680a2d 100644 --- a/app/views/users/show.html.erb +++ b/app/views/users/show.html.erb @@ -36,8 +36,8 @@
@@ -46,7 +46,7 @@

Welcome to the ShiftWork App!


Please finish setting up your profile.

-

<%= link_to 'Create Organization', new_organization_path, class: "btn btn-primary" %>

+

<%= link_to "Create Organization", new_organization_path, class: "btn btn-primary" %>

<% end %> @@ -64,6 +64,7 @@
  • Last Name
  • City
  • State
  • +
  • Bio
  • @@ -86,7 +88,7 @@

    Welcome to the ShiftWork App!


    Please finish setting up your profile.

    -

    <%= link_to 'Create Worker Account', new_worker_path, class: "btn btn-primary" %>

    +

    <%= link_to "Create Worker Account", new_worker_path, class: "btn btn-primary" %>

    <% end %> diff --git a/app/views/workers/edit.html.erb b/app/views/workers/edit.html.erb index 084c95b..cee86ad 100644 --- a/app/views/workers/edit.html.erb +++ b/app/views/workers/edit.html.erb @@ -22,10 +22,14 @@
    - <%= f.label :worker_state, :class => "col-12 col-md-4 col-lg-2" %> - <%= f.text_field :worker_state, :class => "col-12 col-md-8 col-lg-10 mx-auto" %> -
    - + <%= f.label :worker_state, :class => "col-12 col-md-4 col-lg-2" %> + <%= f.text_field :worker_state, :class => "col-12 col-md-8 col-lg-10 mx-auto" %> + + +
    + <%= f.label :bio, :class => "col-12 col-md-4 col-lg-2" %> + <%= f.text_field :bio, :class => "col-12 col-md-8 col-lg-10 mx-auto" %> +
    <%= f.submit "Update Account", :class => "col-auto mx-auto btn btn-primary" %>
    diff --git a/app/views/workers/new.html.erb b/app/views/workers/new.html.erb index 317381d..cd7f39f 100644 --- a/app/views/workers/new.html.erb +++ b/app/views/workers/new.html.erb @@ -26,6 +26,11 @@ <%= f.text_field :worker_state, :class => "col-12 col-md-8 col-lg-10 mx-auto" %> +
    + <%= f.label :bio, :class => "col-12 col-md-4 col-lg-2" %> + <%= f.text_field :bio, :class => "col-12 col-md-8 col-lg-10 mx-auto" %> +
    +
    <%= f.submit "Create Worker Account", :class => "col-6 col-lg-4 col-auto mx-auto btn btn-primary" %>
    diff --git a/app/views/workers/show.html.erb b/app/views/workers/show.html.erb index 6fe6420..5f5511d 100644 --- a/app/views/workers/show.html.erb +++ b/app/views/workers/show.html.erb @@ -1,59 +1,78 @@ -

    Page Showing All Your Shifts

    +
    + <% if @worker_shifts %> +

    Page Showing All Your Shifts

    -
    - <% @worker_shifts.each do |shift| %> -
    -
    - -
    -
    Organization Name
    -
    <%= shift.shift_org_name %>
    -
    - -
    -
    Shift Status
    -
    <% if shift.shift_open %>
    -
    - -
    -
    OPEN<% else %>Filled<% end %>
    -
    - -
    -
    Shift Role
    -
    <%= shift.shift_role %>
    -
    - +
    + <% @worker_shifts.each do |shift| %> +
    +
    + +
    +
    Organization Name
    +
    <%= shift.shift_org_name %>
    +
    + +
    +
    Shift Status
    +
    <% if shift.shift_open %>
    +
    + +
    +
    OPEN<% else %>Filled<% end %>
    +
    + +
    +
    Shift Role
    +
    <%= shift.shift_role %>
    +
    + +
    +
    Shift Description
    +
    <%= shift.shift_description %>
    +
    + +
    +
    Shift Start
    +
    <%= shift.shift_start.httpdate %>
    +
    +
    -
    Shift Description
    -
    <%= shift.shift_description %>
    -
    +
    Shift End
    +
    <%= shift.shift_start.httpdate %>
    +
    + +
    +
    Shift Pay
    +
    <%= shift.shift_pay %>
    +
    -
    -
    Shift Start
    -
    <%= shift.shift_start.httpdate %>
    -
    - -
    -
    Shift End
    -
    <%= shift.shift_start.httpdate %>
    -
    - -
    -
    Shift Pay
    -
    <%= shift.shift_pay %>
    -
    - - <% if current_user.worker? && Time.current < shift.shift_start %> -
    - <%= link_to 'Drop Shift', drop_shift_path(shift), method: :put, data: { confirm: 'You are about to DROP this shift. Proceed?', class: "btn btn-primary" } %> -
    - <% end %> -
    -
    - -<% end %> -
    - + <% if current_user.worker? && Time.current < shift.shift_start %> +
    + <%= link_to "Drop Shift", drop_shift_path(shift), method: :put, data: { confirm: "You are about to DROP this shift. Proceed?", class: "btn btn-primary" } %> +
    + <% end %> +
    +
    + <% end %> +
    + + <% else %> +
    +

    <%= @worker_bio.first_name %> <%= @worker_bio.last_name %>

    +
    +
    +
    +
      +
    • Bio
    • +
    +
    +
      +
    • <%= @worker_bio.bio %>
    • +
    +
    +
    +
    +
    + <% end %> \ No newline at end of file diff --git a/config/application.rb b/config/application.rb index 75abab9..fc30602 100644 --- a/config/application.rb +++ b/config/application.rb @@ -10,8 +10,12 @@ module Shiftwork2 class Application < Rails::Application # Initialize configuration defaults for originally generated Rails version. config.load_defaults 6.0 + config.exceptions_app = self.routes + + # Set official app timezone + config.time_zone = "UTC" - # Settings in config/environments/* take precedence over those specified here. +# Settings in config/environments/* take precedence over those specified here. # Application configuration can go into files in config/initializers # -- all .rb files in that directory are automatically loaded after loading # the framework and any gems in your application. diff --git a/config/environments/development.rb b/config/environments/development.rb index 66df51f..428c0e7 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -10,7 +10,7 @@ config.eager_load = false # Show full error reports. - config.consider_all_requests_local = true + config.consider_all_requests_local = false # Enable/disable caching. By default caching is disabled. # Run rails dev:cache to toggle caching. diff --git a/config/routes.rb b/config/routes.rb index df0e3ba..0ba85d4 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,4 +1,7 @@ Rails.application.routes.draw do + get 'errors/page_not_found' + match "/404", to: "errors#page_not_found", via: :all + match "/500", to: "errors#internal_server_error", via: :all # match '*unmatched', to: 'application#render_not_found', via: :all root 'users#index' @@ -17,3 +20,6 @@ end resources :workers end +if Rails.env.production? + get '404', :to => 'application#page_not_found' + end \ No newline at end of file diff --git a/config/webpack/environment.js b/config/webpack/environment.js index 09ec75f..c1f76b7 100644 --- a/config/webpack/environment.js +++ b/config/webpack/environment.js @@ -1,11 +1,9 @@ const { environment } = require('@rails/webpacker') - -const webpack = require('webpack') -environment.plugins.prepend('Provide', - new webpack.ProvidePlugin({ - $: 'jquery/src/jquery', - jQuery: 'jquery/src/jquery' - }) -) - -module.exports = environment +const webpack = require("webpack") +environment.plugins.append("Provide", new webpack.ProvidePlugin({ + $: 'jquery', + jQuery: 'jquery', + 'window.jQuery': 'jquery', + Popper: ['popper.js', 'default'] + })) +module.exports = environment \ No newline at end of file diff --git a/db/schema.rb b/db/schema.rb deleted file mode 100644 index a3bb07e..0000000 --- a/db/schema.rb +++ /dev/null @@ -1,60 +0,0 @@ -# This file is auto-generated from the current state of the database. Instead -# of editing this file, please use the migrations feature of Active Record to -# incrementally modify your database, and then regenerate this schema definition. -# -# This file is the source Rails uses to define your schema when running `rails -# db:schema:load`. When creating a new database, `rails db:schema:load` tends to -# be faster and is potentially less error prone than running all of your -# migrations from scratch. Old migrations may fail to apply correctly if those -# migrations use external dependencies or application code. -# -# It's strongly recommended that you check this file into your version control system. - -ActiveRecord::Schema.define(version: 2021_04_04_170001) do - - # These are extensions that must be enabled in order to support this database - enable_extension "plpgsql" - - create_table "organizations", force: :cascade do |t| - t.string "org_name" - t.string "org_description" - t.string "org_address" - t.string "org_city" - t.string "org_state" - t.integer "user_id" - t.datetime "created_at", precision: 6, null: false - t.datetime "updated_at", precision: 6, null: false - end - - create_table "shifts", force: :cascade do |t| - t.boolean "shift_open" - t.string "shift_role" - t.string "shift_description" - t.datetime "shift_start" - t.datetime "shift_end" - t.integer "shift_pay" - t.integer "organization_id" - t.datetime "created_at", precision: 6, null: false - t.datetime "updated_at", precision: 6, null: false - t.integer "worker_id" - end - - create_table "users", force: :cascade do |t| - t.string "email" - t.string "password_digest" - t.datetime "created_at", precision: 6, null: false - t.datetime "updated_at", precision: 6, null: false - t.string "user_type" - end - - create_table "workers", force: :cascade do |t| - t.string "first_name" - t.string "last_name" - t.string "worker_city" - t.string "worker_state" - t.integer "user_id" - t.datetime "created_at", precision: 6, null: false - t.datetime "updated_at", precision: 6, null: false - end - -end diff --git a/package.json b/package.json index b38ef43..d4b0564 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,9 @@ "@rails/activestorage": "^6.0.0", "@rails/ujs": "^6.0.0", "@rails/webpacker": "4.3.0", + "bootstrap": "^4.6.0", "jquery": "^3.6.0", + "popper.js": "^1.16.1", "turbolinks": "^5.2.0" }, "version": "0.1.0", diff --git a/public/404.html b/public/404.html deleted file mode 100644 index 2be3af2..0000000 --- a/public/404.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - The page you were looking for doesn't exist (404) - - - - - - -
    -
    -

    The page you were looking for doesn't exist.

    -

    You may have mistyped the address or the page may have moved.

    -
    -

    If you are the application owner check the logs for more information.

    -
    - - diff --git a/spec/helpers/errors_helper_spec.rb b/spec/helpers/errors_helper_spec.rb new file mode 100644 index 0000000..e359203 --- /dev/null +++ b/spec/helpers/errors_helper_spec.rb @@ -0,0 +1,15 @@ +require 'rails_helper' + +# Specs in this file have access to a helper object that includes +# the ErrorsHelper. For example: +# +# describe ErrorsHelper do +# describe "string concat" do +# it "concats two strings with spaces" do +# expect(helper.concat_strings("this","that")).to eq("this that") +# end +# end +# end +RSpec.describe ErrorsHelper, type: :helper do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/requests/errors_spec.rb b/spec/requests/errors_spec.rb new file mode 100644 index 0000000..0d8ddfd --- /dev/null +++ b/spec/requests/errors_spec.rb @@ -0,0 +1,11 @@ +require 'rails_helper' + +RSpec.describe "Errors", type: :request do + describe "GET /page_not_found" do + it "returns http success" do + get "/errors/page_not_found" + expect(response).to have_http_status(:success) + end + end + +end diff --git a/spec/views/errors/page_not_found.html.erb_spec.rb b/spec/views/errors/page_not_found.html.erb_spec.rb new file mode 100644 index 0000000..1839642 --- /dev/null +++ b/spec/views/errors/page_not_found.html.erb_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe "errors/page_not_found.html.erb", type: :view do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/yarn.lock b/yarn.lock index 2bcb495..aedff87 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1533,6 +1533,11 @@ boolbase@^1.0.0, boolbase@~1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= +bootstrap@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.6.0.tgz#97b9f29ac98f98dfa43bf7468262d84392552fd7" + integrity sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw== + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -5256,6 +5261,11 @@ pnp-webpack-plugin@^1.5.0: dependencies: ts-pnp "^1.1.6" +popper.js@^1.16.1: + version "1.16.1" + resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1.tgz#2a223cb3dc7b6213d740e40372be40de43e65b1b" + integrity sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ== + portfinder@^1.0.26: version "1.0.28" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778"