From e53141f25430614aea1f1786d35dc634a757da81 Mon Sep 17 00:00:00 2001 From: Betsy Date: Sat, 29 Aug 2026 15:34:37 -0400 Subject: [PATCH 1/5] Added appointment requirements --- Gemfile.lock | 1 + .../appointment_requirements_controller.rb | 70 +++++++++++++++++++ .../appointment_requirements_helper.rb | 2 + app/models/appointment_requirement.rb | 2 + .../_appointment_requirement.html.erb | 7 ++ .../_appointment_requirement.json.jbuilder | 2 + .../appointment_requirements/_form.html.erb | 22 ++++++ .../appointment_requirements/edit.html.erb | 12 ++++ .../appointment_requirements/index.html.erb | 17 +++++ .../index.json.jbuilder | 1 + .../appointment_requirements/new.html.erb | 11 +++ .../appointment_requirements/show.html.erb | 10 +++ .../show.json.jbuilder | 1 + config/routes.rb | 1 + ...9183810_create_appointment_requirements.rb | 9 +++ ...ppointment_requirements_controller_test.rb | 48 +++++++++++++ test/fixtures/appointment_requirements.yml | 7 ++ test/models/appointment_requirement_test.rb | 7 ++ 18 files changed, 230 insertions(+) create mode 100644 app/controllers/appointment_requirements_controller.rb create mode 100644 app/helpers/appointment_requirements_helper.rb create mode 100644 app/models/appointment_requirement.rb create mode 100644 app/views/appointment_requirements/_appointment_requirement.html.erb create mode 100644 app/views/appointment_requirements/_appointment_requirement.json.jbuilder create mode 100644 app/views/appointment_requirements/_form.html.erb create mode 100644 app/views/appointment_requirements/edit.html.erb create mode 100644 app/views/appointment_requirements/index.html.erb create mode 100644 app/views/appointment_requirements/index.json.jbuilder create mode 100644 app/views/appointment_requirements/new.html.erb create mode 100644 app/views/appointment_requirements/show.html.erb create mode 100644 app/views/appointment_requirements/show.json.jbuilder create mode 100644 db/migrate/20260829183810_create_appointment_requirements.rb create mode 100644 test/controllers/appointment_requirements_controller_test.rb create mode 100644 test/fixtures/appointment_requirements.yml create mode 100644 test/models/appointment_requirement_test.rb diff --git a/Gemfile.lock b/Gemfile.lock index 402d23f..17eddea 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -405,6 +405,7 @@ PLATFORMS arm-linux-musl arm64-darwin-22 arm64-darwin-23 + arm64-darwin-24 arm64-darwin-25 x86_64-linux x86_64-linux-gnu diff --git a/app/controllers/appointment_requirements_controller.rb b/app/controllers/appointment_requirements_controller.rb new file mode 100644 index 0000000..0eea825 --- /dev/null +++ b/app/controllers/appointment_requirements_controller.rb @@ -0,0 +1,70 @@ +class AppointmentRequirementsController < ApplicationController + before_action :set_appointment_requirement, only: %i[ show edit update destroy ] + + # GET /appointment_requirements or /appointment_requirements.json + def index + @appointment_requirements = AppointmentRequirement.all + end + + # GET /appointment_requirements/1 or /appointment_requirements/1.json + def show + end + + # GET /appointment_requirements/new + def new + @appointment_requirement = AppointmentRequirement.new + end + + # GET /appointment_requirements/1/edit + def edit + end + + # POST /appointment_requirements or /appointment_requirements.json + def create + @appointment_requirement = AppointmentRequirement.new(appointment_requirement_params) + + respond_to do |format| + if @appointment_requirement.save + format.html { redirect_to @appointment_requirement, notice: "Appointment requirement was successfully created." } + format.json { render :show, status: :created, location: @appointment_requirement } + else + format.html { render :new, status: :unprocessable_content } + format.json { render json: @appointment_requirement.errors, status: :unprocessable_content } + end + end + end + + # PATCH/PUT /appointment_requirements/1 or /appointment_requirements/1.json + def update + respond_to do |format| + if @appointment_requirement.update(appointment_requirement_params) + format.html { redirect_to @appointment_requirement, notice: "Appointment requirement was successfully updated.", status: :see_other } + format.json { render :show, status: :ok, location: @appointment_requirement } + else + format.html { render :edit, status: :unprocessable_content } + format.json { render json: @appointment_requirement.errors, status: :unprocessable_content } + end + end + end + + # DELETE /appointment_requirements/1 or /appointment_requirements/1.json + def destroy + @appointment_requirement.destroy! + + respond_to do |format| + format.html { redirect_to appointment_requirements_path, notice: "Appointment requirement was successfully destroyed.", status: :see_other } + format.json { head :no_content } + end + end + + private + # Use callbacks to share common setup or constraints between actions. + def set_appointment_requirement + @appointment_requirement = AppointmentRequirement.find(params.expect(:id)) + end + + # Only allow a list of trusted parameters through. + def appointment_requirement_params + params.expect(appointment_requirement: [ :name ]) + end +end diff --git a/app/helpers/appointment_requirements_helper.rb b/app/helpers/appointment_requirements_helper.rb new file mode 100644 index 0000000..72fa697 --- /dev/null +++ b/app/helpers/appointment_requirements_helper.rb @@ -0,0 +1,2 @@ +module AppointmentRequirementsHelper +end diff --git a/app/models/appointment_requirement.rb b/app/models/appointment_requirement.rb new file mode 100644 index 0000000..4dc5205 --- /dev/null +++ b/app/models/appointment_requirement.rb @@ -0,0 +1,2 @@ +class AppointmentRequirement < ApplicationRecord +end diff --git a/app/views/appointment_requirements/_appointment_requirement.html.erb b/app/views/appointment_requirements/_appointment_requirement.html.erb new file mode 100644 index 0000000..d660090 --- /dev/null +++ b/app/views/appointment_requirements/_appointment_requirement.html.erb @@ -0,0 +1,7 @@ +
+
+ Name: + <%= appointment_requirement.name %> +
+ +
diff --git a/app/views/appointment_requirements/_appointment_requirement.json.jbuilder b/app/views/appointment_requirements/_appointment_requirement.json.jbuilder new file mode 100644 index 0000000..7ff7dcc --- /dev/null +++ b/app/views/appointment_requirements/_appointment_requirement.json.jbuilder @@ -0,0 +1,2 @@ +json.extract! appointment_requirement, :id, :name, :created_at, :updated_at +json.url appointment_requirement_url(appointment_requirement, format: :json) diff --git a/app/views/appointment_requirements/_form.html.erb b/app/views/appointment_requirements/_form.html.erb new file mode 100644 index 0000000..3c5652f --- /dev/null +++ b/app/views/appointment_requirements/_form.html.erb @@ -0,0 +1,22 @@ +<%= form_with(model: appointment_requirement) do |form| %> + <% if appointment_requirement.errors.any? %> +
+

<%= pluralize(appointment_requirement.errors.count, "error") %> prohibited this appointment_requirement from being saved:

+ + +
+ <% end %> + +
+ <%= form.label :name, style: "display: block" %> + <%= form.text_field :name %> +
+ +
+ <%= form.submit %> +
+<% end %> diff --git a/app/views/appointment_requirements/edit.html.erb b/app/views/appointment_requirements/edit.html.erb new file mode 100644 index 0000000..8895c40 --- /dev/null +++ b/app/views/appointment_requirements/edit.html.erb @@ -0,0 +1,12 @@ +<% content_for :title, "Editing appointment requirement" %> + +

Editing appointment requirement

+ +<%= render "form", appointment_requirement: @appointment_requirement %> + +
+ +
+ <%= link_to "Show this appointment requirement", @appointment_requirement %> | + <%= link_to "Back to appointment requirements", appointment_requirements_path %> +
diff --git a/app/views/appointment_requirements/index.html.erb b/app/views/appointment_requirements/index.html.erb new file mode 100644 index 0000000..828ab0e --- /dev/null +++ b/app/views/appointment_requirements/index.html.erb @@ -0,0 +1,17 @@ +

<%= notice %>

+ +<% content_for :title, "Appointment requirements" %> + +

Appointment requirements

+ +
+ + <% @appointment_requirements.each do |appointment_requirement| %> + <%= render appointment_requirement %> +

+ <%= link_to "Show this appointment requirement", appointment_requirement %> +

+ <% end %> +
+ +<%= link_to "New appointment requirement", new_appointment_requirement_path %> diff --git a/app/views/appointment_requirements/index.json.jbuilder b/app/views/appointment_requirements/index.json.jbuilder new file mode 100644 index 0000000..8a6130c --- /dev/null +++ b/app/views/appointment_requirements/index.json.jbuilder @@ -0,0 +1 @@ +json.array! @appointment_requirements, partial: "appointment_requirements/appointment_requirement", as: :appointment_requirement diff --git a/app/views/appointment_requirements/new.html.erb b/app/views/appointment_requirements/new.html.erb new file mode 100644 index 0000000..86c098a --- /dev/null +++ b/app/views/appointment_requirements/new.html.erb @@ -0,0 +1,11 @@ +<% content_for :title, "New appointment requirement" %> + +

New appointment requirement

+ +<%= render "form", appointment_requirement: @appointment_requirement %> + +
+ +
+ <%= link_to "Back to appointment requirements", appointment_requirements_path %> +
diff --git a/app/views/appointment_requirements/show.html.erb b/app/views/appointment_requirements/show.html.erb new file mode 100644 index 0000000..e779dcb --- /dev/null +++ b/app/views/appointment_requirements/show.html.erb @@ -0,0 +1,10 @@ +

<%= notice %>

+ +<%= render @appointment_requirement %> + +
+ <%= link_to "Edit this appointment requirement", edit_appointment_requirement_path(@appointment_requirement) %> | + <%= link_to "Back to appointment requirements", appointment_requirements_path %> + + <%= button_to "Destroy this appointment requirement", @appointment_requirement, method: :delete %> +
diff --git a/app/views/appointment_requirements/show.json.jbuilder b/app/views/appointment_requirements/show.json.jbuilder new file mode 100644 index 0000000..01bbd33 --- /dev/null +++ b/app/views/appointment_requirements/show.json.jbuilder @@ -0,0 +1 @@ +json.partial! "appointment_requirements/appointment_requirement", appointment_requirement: @appointment_requirement diff --git a/config/routes.rb b/config/routes.rb index 48205eb..2e16c06 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,4 +1,5 @@ Rails.application.routes.draw do + resources :appointment_requirements devise_for :users resources :medications resources :medication_forms diff --git a/db/migrate/20260829183810_create_appointment_requirements.rb b/db/migrate/20260829183810_create_appointment_requirements.rb new file mode 100644 index 0000000..29b5986 --- /dev/null +++ b/db/migrate/20260829183810_create_appointment_requirements.rb @@ -0,0 +1,9 @@ +class CreateAppointmentRequirements < ActiveRecord::Migration[8.1] + def change + create_table :appointment_requirements do |t| + t.string :name + + t.timestamps + end + end +end diff --git a/test/controllers/appointment_requirements_controller_test.rb b/test/controllers/appointment_requirements_controller_test.rb new file mode 100644 index 0000000..e1201d8 --- /dev/null +++ b/test/controllers/appointment_requirements_controller_test.rb @@ -0,0 +1,48 @@ +require "test_helper" + +class AppointmentRequirementsControllerTest < ActionDispatch::IntegrationTest + setup do + @appointment_requirement = appointment_requirements(:one) + end + + test "should get index" do + get appointment_requirements_url + assert_response :success + end + + test "should get new" do + get new_appointment_requirement_url + assert_response :success + end + + test "should create appointment_requirement" do + assert_difference("AppointmentRequirement.count") do + post appointment_requirements_url, params: { appointment_requirement: { name: @appointment_requirement.name } } + end + + assert_redirected_to appointment_requirement_url(AppointmentRequirement.last) + end + + test "should show appointment_requirement" do + get appointment_requirement_url(@appointment_requirement) + assert_response :success + end + + test "should get edit" do + get edit_appointment_requirement_url(@appointment_requirement) + assert_response :success + end + + test "should update appointment_requirement" do + patch appointment_requirement_url(@appointment_requirement), params: { appointment_requirement: { name: @appointment_requirement.name } } + assert_redirected_to appointment_requirement_url(@appointment_requirement) + end + + test "should destroy appointment_requirement" do + assert_difference("AppointmentRequirement.count", -1) do + delete appointment_requirement_url(@appointment_requirement) + end + + assert_redirected_to appointment_requirements_url + end +end diff --git a/test/fixtures/appointment_requirements.yml b/test/fixtures/appointment_requirements.yml new file mode 100644 index 0000000..7d41224 --- /dev/null +++ b/test/fixtures/appointment_requirements.yml @@ -0,0 +1,7 @@ +# Read about fixtures at https://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html + +one: + name: MyString + +two: + name: MyString diff --git a/test/models/appointment_requirement_test.rb b/test/models/appointment_requirement_test.rb new file mode 100644 index 0000000..2a3d201 --- /dev/null +++ b/test/models/appointment_requirement_test.rb @@ -0,0 +1,7 @@ +require "test_helper" + +class AppointmentRequirementTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end From 9eabd20b8fe0280182610f90a1311bd3ea4cd93c Mon Sep 17 00:00:00 2001 From: Betsy Date: Sat, 29 Aug 2026 16:20:53 -0400 Subject: [PATCH 2/5] updating schema file --- db/schema.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/db/schema.rb b/db/schema.rb index 84a1e9a..4727c87 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -20,6 +20,12 @@ t.index ["person_id"], name: "index_addresses_on_person_id" end + create_table "appointment_requirements", force: :cascade do |t| + t.datetime "created_at", null: false + t.string "name" + t.datetime "updated_at", null: false + end + create_table "medication_forms", force: :cascade do |t| t.datetime "created_at", null: false t.string "name" From 1fc336b772d50cea608f811611e3629264a788e7 Mon Sep 17 00:00:00 2001 From: Betsy <125512485+Betsyyvc@users.noreply.github.com> Date: Sun, 30 Aug 2026 09:03:11 -0400 Subject: [PATCH 3/5] Update app/models/appointment_requirement.rb Add validation Co-authored-by: Domenick Powers <61387316+dpowers1@users.noreply.github.com> --- app/models/appointment_requirement.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/models/appointment_requirement.rb b/app/models/appointment_requirement.rb index 4dc5205..44dfbfd 100644 --- a/app/models/appointment_requirement.rb +++ b/app/models/appointment_requirement.rb @@ -1,2 +1,4 @@ class AppointmentRequirement < ApplicationRecord + validates :name, presence: true + end end From 58676928653d6a50212837d2e973d7f6f6a03729 Mon Sep 17 00:00:00 2001 From: Betsy Date: Sun, 30 Aug 2026 09:08:28 -0400 Subject: [PATCH 4/5] removing test file --- test/models/appointment_requirement_test.rb | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 test/models/appointment_requirement_test.rb diff --git a/test/models/appointment_requirement_test.rb b/test/models/appointment_requirement_test.rb deleted file mode 100644 index 2a3d201..0000000 --- a/test/models/appointment_requirement_test.rb +++ /dev/null @@ -1,7 +0,0 @@ -require "test_helper" - -class AppointmentRequirementTest < ActiveSupport::TestCase - # test "the truth" do - # assert true - # end -end From cffb7a37226a3d918cef547306d5f5049a65909e Mon Sep 17 00:00:00 2001 From: Betsy Date: Sun, 30 Aug 2026 09:34:27 -0400 Subject: [PATCH 5/5] clean up file --- app/models/appointment_requirement.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/app/models/appointment_requirement.rb b/app/models/appointment_requirement.rb index 44dfbfd..32c253c 100644 --- a/app/models/appointment_requirement.rb +++ b/app/models/appointment_requirement.rb @@ -1,4 +1,3 @@ class AppointmentRequirement < ApplicationRecord validates :name, presence: true - end end