Compare commits

...

11 Commits

Author SHA1 Message Date
eb2b111472 Merge branch 'main' into arrangement-names
All checks were successful
Add copyright notice / copyright_notice (pull_request) Successful in 3m43s
Run unit tests / unit_tests (pull_request) Successful in 13m1s
2024-11-03 11:42:28 +01:00
3a8a83e60e Merge pull request 'Remove the email property from the guest model' (#90) from remove-emails into main
Some checks failed
Run unit tests / unit_tests (push) Successful in 6m40s
Build Nginx-based docker image / build-static-assets (push) Failing after 8m28s
Reviewed-on: #90
2024-11-03 10:41:52 +00:00
dacc0aa74e Merge pull request 'Stop redundant builds' (#86) from actions-concurrency into main
Some checks failed
Build Nginx-based docker image / build-static-assets (push) Failing after 3m19s
Run unit tests / unit_tests (push) Successful in 3m44s
Reviewed-on: #86
2024-11-03 10:31:34 +00:00
f0e8c570c9 Merge pull request 'Configure a build timeout of 30 minutes' (#88) from build-timeout into main
Some checks failed
Run unit tests / unit_tests (push) Has been cancelled
Build Nginx-based docker image / build-static-assets (push) Has been cancelled
Reviewed-on: #88
2024-11-03 10:29:07 +00:00
c08f7bd37c Add copyright notice
All checks were successful
Run unit tests / unit_tests (pull_request) Successful in 7m30s
Add copyright notice / copyright_notice (pull_request) Successful in 9m10s
2024-11-03 10:03:47 +00:00
f21aaa3723 Remove the email property from the guest model
All checks were successful
Add copyright notice / copyright_notice (pull_request) Successful in 9m38s
Run unit tests / unit_tests (pull_request) Successful in 15m56s
2024-11-03 10:43:06 +01:00
b78165fb08 Merge remote-tracking branch 'origin/main' into actions-concurrency
All checks were successful
Add copyright notice / copyright_notice (pull_request) Successful in 23m44s
Run unit tests / unit_tests (pull_request) Successful in 17m5s
2024-11-03 10:17:55 +01:00
7a1a2f7107 Merge branch 'main' into build-timeout
All checks were successful
Add copyright notice / copyright_notice (pull_request) Successful in 10m17s
Run unit tests / unit_tests (pull_request) Successful in 16m4s
2024-11-03 09:16:20 +00:00
4f133ac3f5 Configure a build timeout of 30 minutes
Some checks failed
Build Nginx-based docker image / build-static-assets (pull_request) Has been cancelled
Add copyright notice / copyright_notice (pull_request) Failing after 36s
Run unit tests / unit_tests (pull_request) Failing after 30s
2024-11-03 09:40:57 +01:00
33434db3f2 Stop redundant builds
Some checks failed
Build Nginx-based docker image / build-static-assets (pull_request) Waiting to run
Add copyright notice / copyright_notice (pull_request) Failing after 19m31s
Run unit tests / unit_tests (pull_request) Failing after 18m49s
2024-11-03 09:31:10 +01:00
066fdea504 Assign a name to every tables arrangement
Some checks failed
Add copyright notice / copyright_notice (pull_request) Successful in 3m52s
Run unit tests / unit_tests (pull_request) Successful in 7m40s
Build Nginx-based docker image / build-static-assets (pull_request) Failing after 1h10m25s
2024-11-03 08:44:31 +01:00
13 changed files with 40 additions and 10 deletions

View File

@ -3,9 +3,13 @@ on:
push:
branches:
- main
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
jobs:
build-static-assets:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
with:

View File

@ -3,6 +3,9 @@ on:
pull_request:
permissions:
contents: write
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
jobs:
copyright_notice:
runs-on: ubuntu-latest

View File

@ -4,6 +4,9 @@ on:
branches:
- main
pull_request:
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
jobs:
unit_tests:
runs-on: ubuntu-latest

View File

@ -15,6 +15,7 @@ gem 'stimulus-rails'
gem 'turbo-rails'
gem 'tzinfo-data', platforms: %i[windows jruby]
gem 'faker'
gem 'jsonapi-rails'
gem 'rack-cors'
gem 'react-rails'
@ -23,7 +24,6 @@ gem 'rubytree'
group :development, :test do
gem 'debug', platforms: %i[mri windows]
gem 'factory_bot_rails'
gem 'faker'
gem 'pry'
gem 'rspec-rails', '~> 7.0.0'
end

View File

@ -2,7 +2,7 @@
class TablesArrangementsController < ApplicationController
def index
render json: TablesArrangement.all.order(discomfort: :asc).limit(3).as_json(only: %i[id discomfort])
render json: TablesArrangement.all.order(discomfort: :asc).limit(3).as_json(only: %i[id name discomfort])
end
def show

View File

@ -3,4 +3,12 @@
class TablesArrangement < ApplicationRecord
has_many :seats
has_many :guests, through: :seats
before_create :assign_name
private
def assign_name
self.name = "#{Faker::Adjective.positive} #{Faker::Creature::Animal.name}".capitalize
end
end

View File

@ -3,7 +3,7 @@
class SerializableGuest < JSONAPI::Serializable::Resource
type 'guest'
attributes :id, :email, :group_id, :status
attributes :id, :group_id, :status
attribute :name do
"#{@object.first_name} #{@object.last_name}"

View File

@ -0,0 +1,5 @@
class AddNameToTablesArrangements < ActiveRecord::Migration[7.2]
def change
add_column :tables_arrangements, :name, :string, null: false
end
end

View File

@ -0,0 +1,7 @@
# Copyright (C) 2024 Manuel Bustillo
class RemoveEmailFromGuests < ActiveRecord::Migration[7.2]
def change
remove_column :guests, :email, :string
end
end

6
db/schema.rb generated
View File

@ -1,5 +1,3 @@
# Copyright (C) 2024 Manuel Bustillo
# 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.
@ -12,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema[7.2].define(version: 2024_11_01_181052) do
ActiveRecord::Schema[7.2].define(version: 2024_11_03_093955) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@ -42,7 +40,6 @@ ActiveRecord::Schema[7.2].define(version: 2024_11_01_181052) do
create_table "guests", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t|
t.string "first_name"
t.string "last_name"
t.string "email"
t.string "phone"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
@ -65,6 +62,7 @@ ActiveRecord::Schema[7.2].define(version: 2024_11_01_181052) do
t.integer "discomfort"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "name", null: false
end
add_foreign_key "groups", "groups", column: "parent_id"

View File

@ -58,7 +58,6 @@ NUMBER_OF_GUESTS.times do
Guest.create!(
first_name: Faker::Name.first_name,
last_name: Faker::Name.last_name,
email: Faker::Internet.email,
phone: Faker::PhoneNumber.cell_phone,
group: groups.sample,
status: Guest.statuses.keys.sample

View File

@ -6,7 +6,6 @@ FactoryBot.define do
first_name { Faker::Name.first_name }
last_name { Faker::Name.last_name }
email { Faker::Internet.email }
phone { Faker::PhoneNumber.cell_phone }
end
end

View File

@ -3,5 +3,9 @@
require 'rails_helper'
RSpec.describe TablesArrangement, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
describe 'callbacks' do
it 'assigns a name before creation' do
expect(described_class.create!.name).to be_present
end
end
end