mirror of
https://github.com/iritmaximus/brewery.git
synced 2026-10-12 19:13:49 +03:00
upto 3.10
This commit is contained in:
@@ -0,0 +1,70 @@
|
|||||||
|
class BeerclubsController < ApplicationController
|
||||||
|
before_action :set_beerclub, only: %i[ show edit update destroy ]
|
||||||
|
|
||||||
|
# GET /beerclubs or /beerclubs.json
|
||||||
|
def index
|
||||||
|
@beerclubs = Beerclub.all
|
||||||
|
end
|
||||||
|
|
||||||
|
# GET /beerclubs/1 or /beerclubs/1.json
|
||||||
|
def show
|
||||||
|
end
|
||||||
|
|
||||||
|
# GET /beerclubs/new
|
||||||
|
def new
|
||||||
|
@beerclub = Beerclub.new
|
||||||
|
end
|
||||||
|
|
||||||
|
# GET /beerclubs/1/edit
|
||||||
|
def edit
|
||||||
|
end
|
||||||
|
|
||||||
|
# POST /beerclubs or /beerclubs.json
|
||||||
|
def create
|
||||||
|
@beerclub = Beerclub.new(beerclub_params)
|
||||||
|
|
||||||
|
respond_to do |format|
|
||||||
|
if @beerclub.save
|
||||||
|
format.html { redirect_to beerclub_url(@beerclub), notice: "Beerclub was successfully created." }
|
||||||
|
format.json { render :show, status: :created, location: @beerclub }
|
||||||
|
else
|
||||||
|
format.html { render :new, status: :unprocessable_entity }
|
||||||
|
format.json { render json: @beerclub.errors, status: :unprocessable_entity }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# PATCH/PUT /beerclubs/1 or /beerclubs/1.json
|
||||||
|
def update
|
||||||
|
respond_to do |format|
|
||||||
|
if @beerclub.update(beerclub_params)
|
||||||
|
format.html { redirect_to beerclub_url(@beerclub), notice: "Beerclub was successfully updated." }
|
||||||
|
format.json { render :show, status: :ok, location: @beerclub }
|
||||||
|
else
|
||||||
|
format.html { render :edit, status: :unprocessable_entity }
|
||||||
|
format.json { render json: @beerclub.errors, status: :unprocessable_entity }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# DELETE /beerclubs/1 or /beerclubs/1.json
|
||||||
|
def destroy
|
||||||
|
@beerclub.destroy
|
||||||
|
|
||||||
|
respond_to do |format|
|
||||||
|
format.html { redirect_to beerclubs_url, notice: "Beerclub was successfully destroyed." }
|
||||||
|
format.json { head :no_content }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
# Use callbacks to share common setup or constraints between actions.
|
||||||
|
def set_beerclub
|
||||||
|
@beerclub = Beerclub.find(params[:id])
|
||||||
|
end
|
||||||
|
|
||||||
|
# Only allow a list of trusted parameters through.
|
||||||
|
def beerclub_params
|
||||||
|
params.require(:beerclub).permit(:name, :founded, :city)
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -0,0 +1,72 @@
|
|||||||
|
class MembershipsController < ApplicationController
|
||||||
|
before_action :set_membership, only: %i[ show edit update destroy ]
|
||||||
|
|
||||||
|
# GET /memberships or /memberships.json
|
||||||
|
def index
|
||||||
|
@memberships = Membership.all
|
||||||
|
end
|
||||||
|
|
||||||
|
# GET /memberships/1 or /memberships/1.json
|
||||||
|
def show
|
||||||
|
end
|
||||||
|
|
||||||
|
# GET /memberships/new
|
||||||
|
def new
|
||||||
|
@membership = Membership.new
|
||||||
|
@users = User.all
|
||||||
|
@beerclubs = Beerclub.all
|
||||||
|
end
|
||||||
|
|
||||||
|
# GET /memberships/1/edit
|
||||||
|
def edit
|
||||||
|
end
|
||||||
|
|
||||||
|
# POST /memberships or /memberships.json
|
||||||
|
def create
|
||||||
|
@membership = Membership.new(membership_params)
|
||||||
|
|
||||||
|
respond_to do |format|
|
||||||
|
if @membership.save
|
||||||
|
format.html { redirect_to membership_url(@membership), notice: "Membership was successfully created." }
|
||||||
|
format.json { render :show, status: :created, location: @membership }
|
||||||
|
else
|
||||||
|
format.html { render :new, status: :unprocessable_entity }
|
||||||
|
format.json { render json: @membership.errors, status: :unprocessable_entity }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# PATCH/PUT /memberships/1 or /memberships/1.json
|
||||||
|
def update
|
||||||
|
respond_to do |format|
|
||||||
|
if @membership.update(membership_params)
|
||||||
|
format.html { redirect_to membership_url(@membership), notice: "Membership was successfully updated." }
|
||||||
|
format.json { render :show, status: :ok, location: @membership }
|
||||||
|
else
|
||||||
|
format.html { render :edit, status: :unprocessable_entity }
|
||||||
|
format.json { render json: @membership.errors, status: :unprocessable_entity }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# DELETE /memberships/1 or /memberships/1.json
|
||||||
|
def destroy
|
||||||
|
@membership.destroy
|
||||||
|
|
||||||
|
respond_to do |format|
|
||||||
|
format.html { redirect_to memberships_url, notice: "Membership was successfully destroyed." }
|
||||||
|
format.json { head :no_content }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
# Use callbacks to share common setup or constraints between actions.
|
||||||
|
def set_membership
|
||||||
|
@membership = Membership.find(params[:id])
|
||||||
|
end
|
||||||
|
|
||||||
|
# Only allow a list of trusted parameters through.
|
||||||
|
def membership_params
|
||||||
|
params.require(:membership).permit(:user_id, :beerclub_id)
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
module BeerclubsHelper
|
||||||
|
end
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
module MembershipsHelper
|
||||||
|
end
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
class Beerclub < ApplicationRecord
|
||||||
|
has_many :memberships, dependent: :destroy
|
||||||
|
has_many :users, through: :membership
|
||||||
|
|
||||||
|
validates :name, presence: true
|
||||||
|
validates :founded, numericality: { greater_than_or_equal_to: 1040,
|
||||||
|
only_integer: true }
|
||||||
|
validate :creation_year_not_in_future
|
||||||
|
|
||||||
|
def creation_year_not_in_future
|
||||||
|
if founded > Time.now.year
|
||||||
|
errors.add :founded, "cannot be in the future"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
class Membership < ApplicationRecord
|
||||||
|
belongs_to :user
|
||||||
|
belongs_to :beerclub
|
||||||
|
end
|
||||||
@@ -5,4 +5,6 @@ class User < ApplicationRecord
|
|||||||
|
|
||||||
has_many :ratings
|
has_many :ratings
|
||||||
has_many :beers, through: :ratings
|
has_many :beers, through: :ratings
|
||||||
|
has_many :memberships, dependent: :destroy
|
||||||
|
has_many :beer_clubs, through: :memberships
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
<div id="<%= dom_id beerclub %>">
|
||||||
|
<p>
|
||||||
|
<strong>Name:</strong>
|
||||||
|
<%= beerclub.name %>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<strong>Founded:</strong>
|
||||||
|
<%= beerclub.founded %>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<strong>City:</strong>
|
||||||
|
<%= beerclub.city %>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<strong>Members:</strong>
|
||||||
|
<ul>
|
||||||
|
<% beerclub.memberships.each do |m| %>
|
||||||
|
<li>
|
||||||
|
<%= link_to m.user.username, user_path(m.user.id) %>
|
||||||
|
</li>
|
||||||
|
<% end%>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
json.extract! beerclub, :id, :name, :founded, :city, :created_at, :updated_at
|
||||||
|
json.url beerclub_url(beerclub, format: :json)
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
<%= form_with(model: beerclub) do |form| %>
|
||||||
|
<% if beerclub.errors.any? %>
|
||||||
|
<div style="color: red">
|
||||||
|
<h2><%= pluralize(beerclub.errors.count, "error") %> prohibited this beerclub from being saved:</h2>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<% beerclub.errors.each do |error| %>
|
||||||
|
<li><%= error.full_message %></li>
|
||||||
|
<% end %>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<%= form.label :name, style: "display: block" %>
|
||||||
|
<%= form.text_field :name %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<%= form.label :founded, style: "display: block" %>
|
||||||
|
<%= form.number_field :founded %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<%= form.label :city, style: "display: block" %>
|
||||||
|
<%= form.text_field :city %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<%= form.submit %>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
<h1>Editing beerclub</h1>
|
||||||
|
|
||||||
|
<%= render "form", beerclub: @beerclub %>
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<%= link_to "Show this beerclub", @beerclub %> |
|
||||||
|
<%= link_to "Back to beerclubs", beerclubs_path %>
|
||||||
|
</div>
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
<p style="color: green"><%= notice %></p>
|
||||||
|
|
||||||
|
<h1>Beerclubs</h1>
|
||||||
|
|
||||||
|
<div id="beerclubs">
|
||||||
|
<% @beerclubs.each do |beerclub| %>
|
||||||
|
<%= render beerclub %>
|
||||||
|
<p>
|
||||||
|
<%= link_to "Show this beerclub", beerclub %>
|
||||||
|
</p>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<%= link_to "New beerclub", new_beerclub_path %>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
json.array! @beerclubs, partial: "beerclubs/beerclub", as: :beerclub
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
<h1>New beerclub</h1>
|
||||||
|
|
||||||
|
<%= render "form", beerclub: @beerclub %>
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<%= link_to "Back to beerclubs", beerclubs_path %>
|
||||||
|
</div>
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
<p style="color: green"><%= notice %></p>
|
||||||
|
|
||||||
|
<%= render @beerclub %>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<%= link_to "Edit this beerclub", edit_beerclub_path(@beerclub) %> |
|
||||||
|
<%= link_to "Back to beerclubs", beerclubs_path %>
|
||||||
|
|
||||||
|
<%= button_to "Destroy this beerclub", @beerclub, method: :delete %>
|
||||||
|
</div>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
json.partial! "beerclubs/beerclub", beerclub: @beerclub
|
||||||
@@ -16,6 +16,7 @@
|
|||||||
<%= link_to "beers", beers_path %>
|
<%= link_to "beers", beers_path %>
|
||||||
<%= link_to "ratings", ratings_path %>
|
<%= link_to "ratings", ratings_path %>
|
||||||
<%= link_to "users", users_path %>
|
<%= link_to "users", users_path %>
|
||||||
|
<%= link_to "clubs", beerclubs_path %>
|
||||||
|
|
|
|
||||||
<% if current_user.nil? %>
|
<% if current_user.nil? %>
|
||||||
<%= link_to "Sign up", new_user_path %>
|
<%= link_to "Sign up", new_user_path %>
|
||||||
@@ -23,6 +24,7 @@
|
|||||||
<% else %>
|
<% else %>
|
||||||
<%= link_to current_user.username, user_path(current_user.id) %>
|
<%= link_to current_user.username, user_path(current_user.id) %>
|
||||||
<%= link_to "Rate a new beer", new_rating_path %>
|
<%= link_to "Rate a new beer", new_rating_path %>
|
||||||
|
<%= link_to "Join a beer club", new_membership_path %>
|
||||||
<%= link_to "signout", signout_path, data: { "turbo-method": :delete } %>
|
<%= link_to "signout", signout_path, data: { "turbo-method": :delete } %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
<%= form_with(model: membership) do |form| %>
|
||||||
|
<% if membership.errors.any? %>
|
||||||
|
<div style="color: red">
|
||||||
|
<h2><%= pluralize(membership.errors.count, "error") %> prohibited this membership from being saved:</h2>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<% membership.errors.each do |error| %>
|
||||||
|
<li><%= error.full_message %></li>
|
||||||
|
<% end %>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<%= form.label :user_id, style: "display: block" %>
|
||||||
|
<%= form.select :user_id, options_from_collection_for_select(@users, :id, :username) %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<%= form.label :beerclub_id, style: "display: block" %>
|
||||||
|
<%= form.select :beerclub_id, options_from_collection_for_select(@beerclubs, :id, :name) %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<%= form.submit %>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
<div id="<%= dom_id membership %>">
|
||||||
|
<p>
|
||||||
|
<strong>User:</strong>
|
||||||
|
<%= membership.user.username %>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<strong>Beer club:</strong>
|
||||||
|
<%= membership.beerclub.name %>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
json.extract! membership, :id, :user_id, :beer_club_id, :created_at, :updated_at
|
||||||
|
json.url membership_url(membership, format: :json)
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
<h1>Editing membership</h1>
|
||||||
|
|
||||||
|
<%= render "form", membership: @membership %>
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<%= link_to "Show this membership", @membership %> |
|
||||||
|
</div>
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
<p style="color: green"><%= notice %></p>
|
||||||
|
|
||||||
|
<h1>Memberships</h1>
|
||||||
|
|
||||||
|
<div id="memberships">
|
||||||
|
<% @memberships.each do |membership| %>
|
||||||
|
<%= render membership %>
|
||||||
|
<p>
|
||||||
|
<%= link_to "Show this membership", membership %>
|
||||||
|
</p>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<%= link_to "New membership", new_membership_path %>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
json.array! @memberships, partial: "memberships/membership", as: :membership
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
<h1>New membership</h1>
|
||||||
|
|
||||||
|
<%= render "form", membership: @membership %>
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<%= link_to "Back to clubs", beerclubs_path %>
|
||||||
|
</div>
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
<p style="color: green"><%= notice %></p>
|
||||||
|
|
||||||
|
<%= render @membership %>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<%= link_to "Edit this membership", edit_membership_path(@membership) %> |
|
||||||
|
<%= link_to "Back to clubs", beerclubs_path %>
|
||||||
|
|
||||||
|
<%= button_to "Destroy this membership", @membership, method: :delete %>
|
||||||
|
</div>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
json.partial! "memberships/membership", membership: @membership
|
||||||
@@ -22,6 +22,16 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<strong>Beerclubs:</strong>
|
||||||
|
<ul>
|
||||||
|
<% @user.memberships.each do |m| %>
|
||||||
|
<li>
|
||||||
|
<%= link_to m.beerclub.name, beerclub_path(m.beerclub.id) %>
|
||||||
|
</li>
|
||||||
|
<% end%>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
|
||||||
<%= link_to "Edit this user", edit_user_path(@user) %> |
|
<%= link_to "Edit this user", edit_user_path(@user) %> |
|
||||||
<%= link_to "Back to users", users_path %>
|
<%= link_to "Back to users", users_path %>
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
Rails.application.routes.draw do
|
Rails.application.routes.draw do
|
||||||
|
resources :beerclubs
|
||||||
resources :users
|
resources :users
|
||||||
resources :beers
|
resources :beers
|
||||||
resources :breweries
|
resources :breweries
|
||||||
@@ -12,4 +13,5 @@ Rails.application.routes.draw do
|
|||||||
delete 'signout', to: 'sessions#destroy'
|
delete 'signout', to: 'sessions#destroy'
|
||||||
resources :ratings, only: [:index, :new, :create, :destroy]
|
resources :ratings, only: [:index, :new, :create, :destroy]
|
||||||
resource :session, only: [:new, :create, :destroy]
|
resource :session, only: [:new, :create, :destroy]
|
||||||
|
resources :memberships, only: [:new, :create, :destroy]
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
class CreateBeerclubs < ActiveRecord::Migration[7.0]
|
||||||
|
def change
|
||||||
|
create_table :beerclubs do |t|
|
||||||
|
t.string :name
|
||||||
|
t.integer :founded
|
||||||
|
t.string :city
|
||||||
|
|
||||||
|
t.timestamps
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
class CreateMemberships < ActiveRecord::Migration[7.0]
|
||||||
|
def change
|
||||||
|
create_table :memberships do |t|
|
||||||
|
t.integer :user_id
|
||||||
|
t.integer :beer_club_id
|
||||||
|
|
||||||
|
t.timestamps
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
class RenameMembershipFields < ActiveRecord::Migration[7.0]
|
||||||
|
def change
|
||||||
|
rename_column :memberships, :beer_club_id, :beerclub_id
|
||||||
|
end
|
||||||
|
end
|
||||||
Generated
+16
-1
@@ -10,7 +10,15 @@
|
|||||||
#
|
#
|
||||||
# It's strongly recommended that you check this file into your version control system.
|
# It's strongly recommended that you check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema[7.0].define(version: 2023_08_10_071347) do
|
ActiveRecord::Schema[7.0].define(version: 2023_08_10_162557) do
|
||||||
|
create_table "beerclubs", force: :cascade do |t|
|
||||||
|
t.string "name"
|
||||||
|
t.integer "founded"
|
||||||
|
t.string "city"
|
||||||
|
t.datetime "created_at", null: false
|
||||||
|
t.datetime "updated_at", null: false
|
||||||
|
end
|
||||||
|
|
||||||
create_table "beers", force: :cascade do |t|
|
create_table "beers", force: :cascade do |t|
|
||||||
t.string "name"
|
t.string "name"
|
||||||
t.string "style"
|
t.string "style"
|
||||||
@@ -26,6 +34,13 @@ ActiveRecord::Schema[7.0].define(version: 2023_08_10_071347) do
|
|||||||
t.datetime "updated_at", null: false
|
t.datetime "updated_at", null: false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
create_table "memberships", force: :cascade do |t|
|
||||||
|
t.integer "user_id"
|
||||||
|
t.integer "beerclub_id"
|
||||||
|
t.datetime "created_at", null: false
|
||||||
|
t.datetime "updated_at", null: false
|
||||||
|
end
|
||||||
|
|
||||||
create_table "ratings", force: :cascade do |t|
|
create_table "ratings", force: :cascade do |t|
|
||||||
t.integer "score"
|
t.integer "score"
|
||||||
t.integer "beer_id"
|
t.integer "beer_id"
|
||||||
|
|||||||
@@ -0,0 +1,48 @@
|
|||||||
|
require "test_helper"
|
||||||
|
|
||||||
|
class BeerclubsControllerTest < ActionDispatch::IntegrationTest
|
||||||
|
setup do
|
||||||
|
@beerclub = beerclubs(:one)
|
||||||
|
end
|
||||||
|
|
||||||
|
test "should get index" do
|
||||||
|
get beerclubs_url
|
||||||
|
assert_response :success
|
||||||
|
end
|
||||||
|
|
||||||
|
test "should get new" do
|
||||||
|
get new_beerclub_url
|
||||||
|
assert_response :success
|
||||||
|
end
|
||||||
|
|
||||||
|
test "should create beerclub" do
|
||||||
|
assert_difference("Beerclub.count") do
|
||||||
|
post beerclubs_url, params: { beerclub: { city: @beerclub.city, founded: @beerclub.founded, name: @beerclub.name } }
|
||||||
|
end
|
||||||
|
|
||||||
|
assert_redirected_to beerclub_url(Beerclub.last)
|
||||||
|
end
|
||||||
|
|
||||||
|
test "should show beerclub" do
|
||||||
|
get beerclub_url(@beerclub)
|
||||||
|
assert_response :success
|
||||||
|
end
|
||||||
|
|
||||||
|
test "should get edit" do
|
||||||
|
get edit_beerclub_url(@beerclub)
|
||||||
|
assert_response :success
|
||||||
|
end
|
||||||
|
|
||||||
|
test "should update beerclub" do
|
||||||
|
patch beerclub_url(@beerclub), params: { beerclub: { city: @beerclub.city, founded: @beerclub.founded, name: @beerclub.name } }
|
||||||
|
assert_redirected_to beerclub_url(@beerclub)
|
||||||
|
end
|
||||||
|
|
||||||
|
test "should destroy beerclub" do
|
||||||
|
assert_difference("Beerclub.count", -1) do
|
||||||
|
delete beerclub_url(@beerclub)
|
||||||
|
end
|
||||||
|
|
||||||
|
assert_redirected_to beerclubs_url
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
require "test_helper"
|
||||||
|
|
||||||
|
class MembershipsControllerTest < ActionDispatch::IntegrationTest
|
||||||
|
setup do
|
||||||
|
@membership = memberships(:one)
|
||||||
|
end
|
||||||
|
|
||||||
|
test "should get index" do
|
||||||
|
get memberships_url
|
||||||
|
assert_response :success
|
||||||
|
end
|
||||||
|
|
||||||
|
test "should get new" do
|
||||||
|
get new_membership_url
|
||||||
|
assert_response :success
|
||||||
|
end
|
||||||
|
|
||||||
|
test "should create membership" do
|
||||||
|
assert_difference("Membership.count") do
|
||||||
|
post memberships_url, params: { membership: { beer_club_id: @membership.beer_club_id, user_id: @membership.user_id } }
|
||||||
|
end
|
||||||
|
|
||||||
|
assert_redirected_to membership_url(Membership.last)
|
||||||
|
end
|
||||||
|
|
||||||
|
test "should show membership" do
|
||||||
|
get membership_url(@membership)
|
||||||
|
assert_response :success
|
||||||
|
end
|
||||||
|
|
||||||
|
test "should get edit" do
|
||||||
|
get edit_membership_url(@membership)
|
||||||
|
assert_response :success
|
||||||
|
end
|
||||||
|
|
||||||
|
test "should update membership" do
|
||||||
|
patch membership_url(@membership), params: { membership: { beer_club_id: @membership.beer_club_id, user_id: @membership.user_id } }
|
||||||
|
assert_redirected_to membership_url(@membership)
|
||||||
|
end
|
||||||
|
|
||||||
|
test "should destroy membership" do
|
||||||
|
assert_difference("Membership.count", -1) do
|
||||||
|
delete membership_url(@membership)
|
||||||
|
end
|
||||||
|
|
||||||
|
assert_redirected_to memberships_url
|
||||||
|
end
|
||||||
|
end
|
||||||
Vendored
+11
@@ -0,0 +1,11 @@
|
|||||||
|
# Read about fixtures at https://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
|
||||||
|
|
||||||
|
one:
|
||||||
|
name: MyString
|
||||||
|
founded: 1
|
||||||
|
city: MyString
|
||||||
|
|
||||||
|
two:
|
||||||
|
name: MyString
|
||||||
|
founded: 1
|
||||||
|
city: MyString
|
||||||
Vendored
+9
@@ -0,0 +1,9 @@
|
|||||||
|
# Read about fixtures at https://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
|
||||||
|
|
||||||
|
one:
|
||||||
|
user_id: 1
|
||||||
|
beer_club_id: 1
|
||||||
|
|
||||||
|
two:
|
||||||
|
user_id: 1
|
||||||
|
beer_club_id: 1
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
require "test_helper"
|
||||||
|
|
||||||
|
class BeerclubTest < ActiveSupport::TestCase
|
||||||
|
# test "the truth" do
|
||||||
|
# assert true
|
||||||
|
# end
|
||||||
|
end
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
require "test_helper"
|
||||||
|
|
||||||
|
class MembershipTest < ActiveSupport::TestCase
|
||||||
|
# test "the truth" do
|
||||||
|
# assert true
|
||||||
|
# end
|
||||||
|
end
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
require "application_system_test_case"
|
||||||
|
|
||||||
|
class BeerclubsTest < ApplicationSystemTestCase
|
||||||
|
setup do
|
||||||
|
@beerclub = beerclubs(:one)
|
||||||
|
end
|
||||||
|
|
||||||
|
test "visiting the index" do
|
||||||
|
visit beerclubs_url
|
||||||
|
assert_selector "h1", text: "Beerclubs"
|
||||||
|
end
|
||||||
|
|
||||||
|
test "should create beerclub" do
|
||||||
|
visit beerclubs_url
|
||||||
|
click_on "New beerclub"
|
||||||
|
|
||||||
|
fill_in "City", with: @beerclub.city
|
||||||
|
fill_in "Founded", with: @beerclub.founded
|
||||||
|
fill_in "Name", with: @beerclub.name
|
||||||
|
click_on "Create Beerclub"
|
||||||
|
|
||||||
|
assert_text "Beerclub was successfully created"
|
||||||
|
click_on "Back"
|
||||||
|
end
|
||||||
|
|
||||||
|
test "should update Beerclub" do
|
||||||
|
visit beerclub_url(@beerclub)
|
||||||
|
click_on "Edit this beerclub", match: :first
|
||||||
|
|
||||||
|
fill_in "City", with: @beerclub.city
|
||||||
|
fill_in "Founded", with: @beerclub.founded
|
||||||
|
fill_in "Name", with: @beerclub.name
|
||||||
|
click_on "Update Beerclub"
|
||||||
|
|
||||||
|
assert_text "Beerclub was successfully updated"
|
||||||
|
click_on "Back"
|
||||||
|
end
|
||||||
|
|
||||||
|
test "should destroy Beerclub" do
|
||||||
|
visit beerclub_url(@beerclub)
|
||||||
|
click_on "Destroy this beerclub", match: :first
|
||||||
|
|
||||||
|
assert_text "Beerclub was successfully destroyed"
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
require "application_system_test_case"
|
||||||
|
|
||||||
|
class MembershipsTest < ApplicationSystemTestCase
|
||||||
|
setup do
|
||||||
|
@membership = memberships(:one)
|
||||||
|
end
|
||||||
|
|
||||||
|
test "visiting the index" do
|
||||||
|
visit memberships_url
|
||||||
|
assert_selector "h1", text: "Memberships"
|
||||||
|
end
|
||||||
|
|
||||||
|
test "should create membership" do
|
||||||
|
visit memberships_url
|
||||||
|
click_on "New membership"
|
||||||
|
|
||||||
|
fill_in "Beer club", with: @membership.beer_club_id
|
||||||
|
fill_in "User", with: @membership.user_id
|
||||||
|
click_on "Create Membership"
|
||||||
|
|
||||||
|
assert_text "Membership was successfully created"
|
||||||
|
click_on "Back"
|
||||||
|
end
|
||||||
|
|
||||||
|
test "should update Membership" do
|
||||||
|
visit membership_url(@membership)
|
||||||
|
click_on "Edit this membership", match: :first
|
||||||
|
|
||||||
|
fill_in "Beer club", with: @membership.beer_club_id
|
||||||
|
fill_in "User", with: @membership.user_id
|
||||||
|
click_on "Update Membership"
|
||||||
|
|
||||||
|
assert_text "Membership was successfully updated"
|
||||||
|
click_on "Back"
|
||||||
|
end
|
||||||
|
|
||||||
|
test "should destroy Membership" do
|
||||||
|
visit membership_url(@membership)
|
||||||
|
click_on "Destroy this membership", match: :first
|
||||||
|
|
||||||
|
assert_text "Membership was successfully destroyed"
|
||||||
|
end
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user