From 6ec27acaf88a4f5486b740547a0fd1a6a8048ee9 Mon Sep 17 00:00:00 2001 From: benji Date: Thu, 19 Mar 2015 16:22:55 +0100 Subject: [PATCH] Refactor dagschotel and make test succeed again --- app/assets/stylesheets/profile.css.scss | 4 +- app/assets/stylesheets/users.css.scss | 4 + app/controllers/users_controller.rb | 6 ++ app/models/order.rb | 16 ++-- app/models/order_item.rb | 8 +- app/models/product.rb | 16 ++-- app/models/user.rb | 44 ++++++----- app/views/admins/schulden.csv.erb | 2 +- app/views/orders/new.html.erb | 2 +- app/views/products/_index.html.erb | 22 ++++++ app/views/products/_product.html.erb | 18 ++++- app/views/products/index.html.erb | 26 +----- app/views/users/_user.html.erb | 2 +- app/views/users/edit_dagschotel.html.erb | 13 +-- app/views/users/show.html.erb | 2 +- .../20150319141248_change_balance_to_debt.rb | 5 ++ db/schema.rb | 4 +- db/seeds.rb | 72 +++++++++++++++++ lib/tasks/db.rake | 79 ------------------- test/fixtures/order_items.yml | 6 +- test/fixtures/orders.yml | 11 +-- test/fixtures/products.yml | 16 ++-- test/fixtures/users.yml | 34 ++++---- test/integration/order_integration_test.rb | 6 +- test/integration/stock_test.rb | 2 +- test/models/order_test.rb | 13 +-- test/models/product_test.rb | 16 ++-- test/models/user_test.rb | 46 +++++------ 28 files changed, 259 insertions(+), 236 deletions(-) create mode 100644 app/views/products/_index.html.erb create mode 100644 db/migrate/20150319141248_change_balance_to_debt.rb delete mode 100644 lib/tasks/db.rake diff --git a/app/assets/stylesheets/profile.css.scss b/app/assets/stylesheets/profile.css.scss index 1118857..6eab87e 100644 --- a/app/assets/stylesheets/profile.css.scss +++ b/app/assets/stylesheets/profile.css.scss @@ -9,7 +9,7 @@ text-align: center; } -.user_info h5 { +.user_info h5 { margin-right: 10px; text-align: right; } @@ -37,7 +37,7 @@ cursor: pointer; } -.balance { +.debt { padding: 12px 0; text-align: center; font-family: monospace; diff --git a/app/assets/stylesheets/users.css.scss b/app/assets/stylesheets/users.css.scss index 17ae72c..76e5812 100644 --- a/app/assets/stylesheets/users.css.scss +++ b/app/assets/stylesheets/users.css.scss @@ -99,3 +99,7 @@ table { color: #999; } } + +.product_dagschotel { + height: 34px; +} diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index b082c84..786d3f3 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -34,12 +34,18 @@ class UsersController < ApplicationController def edit_dagschotel @user = User.find(params[:user_id]) @dagschotel = @user.dagschotel + + @products = Product.all + @categories = Product.categories end def update_dagschotel @user = User.find(params[:user_id]) @user.dagschotel = Product.find(params[:product_id]) + @products = Product.all + @categories = Product.categories + if @user.save flash[:success] = "Succesfully updated dagschotel" redirect_to @user diff --git a/app/models/order.rb b/app/models/order.rb index 4cec0a3..cf6a450 100644 --- a/app/models/order.rb +++ b/app/models/order.rb @@ -2,17 +2,18 @@ # # Table name: orders # -# id :integer not null, primary key -# user_id :integer -# cost :integer -# created_at :datetime not null -# updated_at :datetime not null +# id :integer not null, primary key +# user_id :integer +# price_cents :integer +# created_at :datetime not null +# updated_at :datetime not null +# cancelled :boolean default("f") # class Order < ActiveRecord::Base include ActionView::Helpers::TextHelper - after_create { self.user.decrement!(:balance_cents, price_cents) } + after_create { self.user.increment!(:debt_cents, price_cents) } belongs_to :user, counter_cache: true has_many :order_items, dependent: :destroy @@ -39,9 +40,10 @@ class Order < ActiveRecord::Base def cancel return if self.cancelled - user.increment!(:balance_cents, price_cents) + user.decrement!(:debt_cents, price_cents) User.decrement_counter(:orders_count, user.id) update_attribute(:cancelled, true) + self.order_items.each(&:cancel) end def to_sentence diff --git a/app/models/order_item.rb b/app/models/order_item.rb index 3820fed..534e3da 100644 --- a/app/models/order_item.rb +++ b/app/models/order_item.rb @@ -3,9 +3,9 @@ # Table name: order_items # # id :integer not null, primary key -# order_id :integer not null +# order_id :integer # product_id :integer not null -# count :integer default(0) +# count :integer default("0") # class OrderItem < ActiveRecord::Base @@ -24,6 +24,10 @@ class OrderItem < ActiveRecord::Base super end + def cancel + self.product.increment!(:stock, self.count) + end + private def remove_from_stock diff --git a/app/models/product.rb b/app/models/product.rb index 0fd4b29..2344d1c 100644 --- a/app/models/product.rb +++ b/app/models/product.rb @@ -3,16 +3,16 @@ # Table name: products # # id :integer not null, primary key -# name :string(255) not null -# price_cents :integer default(0), not null -# category :integer default(0) -# stock :integer default(0), not null -# avatar_file_name :string(255) -# avatar_content_type :string(255) -# avatar_file_size :integer -# avatar_updated_at :datetime +# name :string not null +# price_cents :integer default("0"), not null # created_at :datetime # updated_at :datetime +# avatar_file_name :string +# avatar_content_type :string +# avatar_file_size :integer +# avatar_updated_at :datetime +# category :integer default("0") +# stock :integer default("0"), not null # class Product < ActiveRecord::Base diff --git a/app/models/user.rb b/app/models/user.rb index 595ae6d..dfe0c9b 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -3,33 +3,35 @@ # Table name: users # # id :integer not null, primary key -# name :string(255) -# last_name :string(255) -# balance_cents :integer default(0), not null -# nickname :string(255) -# admin :boolean -# koelkast :boolean default(FALSE) -# dagschotel_id :integer -# orders_count :integer default(0) -# avatar_file_name :string(255) -# avatar_content_type :string(255) -# avatar_file_size :integer -# avatar_updated_at :datetime +# name :string +# last_name :string +# debt_cents :integer default("0"), not null +# nickname :string # created_at :datetime # updated_at :datetime -# encrypted_password :string(255) default(""), not null +# encrypted_password :string default(""), not null # remember_created_at :datetime -# sign_in_count :integer default(0), not null +# sign_in_count :integer default("0"), not null # current_sign_in_at :datetime # last_sign_in_at :datetime -# current_sign_in_ip :string(255) -# last_sign_in_ip :string(255) +# current_sign_in_ip :string +# last_sign_in_ip :string +# admin :boolean +# dagschotel_id :integer +# avatar_file_name :string +# avatar_content_type :string +# avatar_file_size :integer +# avatar_updated_at :datetime +# orders_count :integer default("0") +# koelkast :boolean default("f") +# provider :string +# uid :string # class User < ActiveRecord::Base devise :database_authenticatable, :registerable, :rememberable, :trackable, :validatable - has_paper_trail only: [:balance, :admin, :orders_count, :koelkast] + has_paper_trail only: [:debt_cents, :admin, :orders_count, :koelkast] has_attached_file :avatar, styles: { large: "150x150>", medium: "100x100>" }, default_style: :medium @@ -50,13 +52,13 @@ class User < ActiveRecord::Base "#{name} #{last_name}" end - def balance - self.balance_cents / 100.0 + def debt + self.debt_cents / 100.0 end - def balance=(value) + def debt=(value) if value.is_a? String then value.sub!(',', '.') end - self.balance_cents = (value.to_f * 100).to_int + self.debt_cents = (value.to_f * 100).to_int end # Change URL params for User diff --git a/app/views/admins/schulden.csv.erb b/app/views/admins/schulden.csv.erb index 1c6f801..1400970 100644 --- a/app/views/admins/schulden.csv.erb +++ b/app/views/admins/schulden.csv.erb @@ -1,3 +1,3 @@ <%- headers = ['nickname', 'schulden'] -%> <%= CSV.generate_line headers -%> -<% @users.each do |user| %><%= CSV.generate_line([user.nickname, user.balance]) %><% end %> +<% @users.each do |user| %><%= CSV.generate_line([user.nickname, user.debt]) %><% end %> diff --git a/app/views/orders/new.html.erb b/app/views/orders/new.html.erb index a139965..f26e959 100644 --- a/app/views/orders/new.html.erb +++ b/app/views/orders/new.html.erb @@ -1,4 +1,4 @@ -

Order for <%= @user.nickname %> (Huidige schuld: <%= euro(@user.balance) %>)

+

Order for <%= @user.nickname %> (Huidige schuld: <%= euro(@user.debt) %>)

<%= f_form_for [@user, @order] do |f| %> diff --git a/app/views/products/_index.html.erb b/app/views/products/_index.html.erb new file mode 100644 index 0000000..ffc0525 --- /dev/null +++ b/app/views/products/_index.html.erb @@ -0,0 +1,22 @@ +
+ + + + +
+
+
+ <%= render @products %> +
+ <% @categories.each do |o, i| %> +
+ <%= render @products.where(category: i) %> +
+ <% end %> +
+
diff --git a/app/views/products/_product.html.erb b/app/views/products/_product.html.erb index 0f74d29..87b021d 100644 --- a/app/views/products/_product.html.erb +++ b/app/views/products/_product.html.erb @@ -1,16 +1,28 @@
- <%= image_tag product.avatar %> +
+ <%= image_tag product.avatar %> +

<%= product.name %>

<%= euro(product.price) %>

(In stock: <%= product.stock %>)
- <% if current_user && current_user.admin? %> + <%- if controller_name == 'products' && current_user && current_user.admin? %>

<%= link_to "Edit", edit_product_path(product), class: "btn btn-default" %> <%= link_to "Delete", product_path(product), method: :delete, class: "btn btn-danger", data: {confirm: 'Are you sure?'} %>

- <% end %> + <% end -%> + + <%- if controller_name == 'users' %> +
+ <% if current_user.dagschotel != product %> + <%= link_to "Make dagschotel", user_dagschotel_path(current_user, product), class: "btn btn-default" %> + <% else %> + <%= link_to "Huidige dagschotel", user_dagschotel_path(current_user, product), class: "btn btn-success", disabled: true %> + <% end %> +
+ <% end -%>
diff --git a/app/views/products/index.html.erb b/app/views/products/index.html.erb index c2cc583..016ee59 100644 --- a/app/views/products/index.html.erb +++ b/app/views/products/index.html.erb @@ -1,27 +1,3 @@

All products

<%= render partial: 'flash' %> - -
- - - - -
-
-
- <%= render @products %> -
- <% @categories.each do |o, i| %> -
- <%= render @products.where(category: i) %> -
- <% end %> -
- -
- +<%= render 'products/index' %> diff --git a/app/views/users/_user.html.erb b/app/views/users/_user.html.erb index ccb4054..91be69c 100644 --- a/app/views/users/_user.html.erb +++ b/app/views/users/_user.html.erb @@ -6,7 +6,7 @@

Name: <%= user.name %>

Last name: <%= user.last_name %>

Nickname: <%= user.nickname %>

-

Balance: <%= euro(user.balance) %>

+

Debt: <%= euro(user.debt) %>

<% if current_user.admin? %> <% if @orders.any? %> diff --git a/db/migrate/20150319141248_change_balance_to_debt.rb b/db/migrate/20150319141248_change_balance_to_debt.rb new file mode 100644 index 0000000..409d319 --- /dev/null +++ b/db/migrate/20150319141248_change_balance_to_debt.rb @@ -0,0 +1,5 @@ +class ChangeBalanceToDebt < ActiveRecord::Migration + def change + rename_column :users, :balance_cents, :debt_cents + end +end diff --git a/db/schema.rb b/db/schema.rb index 4462642..7d91f6a 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20150319134138) do +ActiveRecord::Schema.define(version: 20150319141248) do create_table "order_items", force: :cascade do |t| t.integer "order_id" @@ -46,7 +46,7 @@ ActiveRecord::Schema.define(version: 20150319134138) do create_table "users", force: :cascade do |t| t.string "name" t.string "last_name" - t.integer "balance_cents", default: 0, null: false + t.integer "debt_cents", default: 0, null: false t.string "nickname" t.datetime "created_at" t.datetime "updated_at" diff --git a/db/seeds.rb b/db/seeds.rb index 28fc1d4..0a7b673 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -5,4 +5,76 @@ # # cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }]) # Mayor.create(name: 'Emanuel', city: cities.first) +DEFAULT_PASSWORD = "password" +products = [ + { + name: 'Fanta', + price: 0.6, + category: 'beverages', + stock: 25, + avatar: File.new('public/seeds/products/fanta.jpg', 'r') + }, + { + name: 'Club Mate', + price: 1.2, + category: 'beverages', + stock: 25, + avatar: File.new('public/seeds/products/club_mate.jpg', 'r') + }, + { + name: 'Kinder Bueno', + price: 0.6, + category: 'food', + stock: 15, + avatar: File.new('public/seeds/products/bueno.jpg', 'r') + } +] + +products.each do |attr| + Product.create name: attr[:name], price: attr[:price], category: attr[:category], stock: attr[:stock], avatar: attr[:avatar] +end + +users = [ + { + nickname: 'admin', + name: 'A.', + last_name: 'Admin', + avatar: File.new('public/seeds/users/admin.jpg', 'r'), + admin: true + }, + { + nickname: 'koelkast', + name: 'K.', + last_name: 'Koelkast', + avatar: File.new('public/seeds/users/admin.jpg', 'r'), + koelkast: true + }, + { + nickname: 'benji', + name: 'Benjamin', + last_name: 'Cousaert', + avatar: File.new('public/seeds/users/benji.jpg', 'r'), + dagschotel: Product.first + }, + { + nickname: 'don', + name: 'Lorin', + last_name: 'Werthen', + avatar: File.new('public/seeds/users/don.jpg', 'r') + }, + { + nickname: 'silox', + name: 'Tom', + last_name: 'Naessens', + avatar: File.new('public/seeds/users/silox.jpg', 'r') + } +] + +users.each do |attr| + User.create nickname: attr[:nickname], name: attr[:name], last_name: attr[:last_name], avatar: attr[:avatar], dagschotel: attr[:dagschotel], password: DEFAULT_PASSWORD, password_confirmation: DEFAULT_PASSWORD, admin: attr[:admin] || false, koelkast: attr[:koelkast] || false +end + +50.times do |i| + User.create nickname: "TestUser#{i}", name: "Test", last_name: "User", avatar: users[0][:avatar], password: DEFAULT_PASSWORD, password_confirmation: DEFAULT_PASSWORD +end diff --git a/lib/tasks/db.rake b/lib/tasks/db.rake deleted file mode 100644 index a62be4e..0000000 --- a/lib/tasks/db.rake +++ /dev/null @@ -1,79 +0,0 @@ -namespace :db do - desc "Fill the database with some sample data." - task generatedata: :environment do - DEFAULT_PASSWORD = "password" - - products = [ - { - name: 'Fanta', - price: 0.6, - category: 'beverages', - stock: 25, - avatar: File.new('public/seeds/products/fanta.jpg', 'r') - }, - { - name: 'Club Mate', - price: 1.2, - category: 'beverages', - stock: 25, - avatar: File.new('public/seeds/products/club_mate.jpg', 'r') - }, - { - name: 'Kinder Bueno', - price: 0.6, - category: 'food', - stock: 15, - avatar: File.new('public/seeds/products/bueno.jpg', 'r') - } - ] - - products.each do |attr| - Product.create name: attr[:name], price: attr[:price], category: attr[:category], stock: attr[:stock], avatar: attr[:avatar] - end - - users = [ - { - nickname: 'admin', - name: 'A.', - last_name: 'Admin', - avatar: File.new('public/seeds/users/admin.jpg', 'r'), - admin: true - }, - { - nickname: 'koelkast', - name: 'K.', - last_name: 'Koelkast', - avatar: File.new('public/seeds/users/admin.jpg', 'r'), - koelkast: true - }, - { - nickname: 'benji', - name: 'Benjamin', - last_name: 'Cousaert', - avatar: File.new('public/seeds/users/benji.jpg', 'r'), - dagschotel: Product.first - }, - { - nickname: 'don', - name: 'Lorin', - last_name: 'Werthen', - avatar: File.new('public/seeds/users/don.jpg', 'r') - }, - { - nickname: 'silox', - name: 'Tom', - last_name: 'Naessens', - avatar: File.new('public/seeds/users/silox.jpg', 'r') - } - ] - - users.each do |attr| - User.create nickname: attr[:nickname], name: attr[:name], last_name: attr[:last_name], avatar: attr[:avatar], dagschotel: attr[:dagschotel], password: DEFAULT_PASSWORD, password_confirmation: DEFAULT_PASSWORD, admin: attr[:admin] || false, koelkast: attr[:koelkast] || false - end - - 50.times do |i| - User.create nickname: "TestUser#{i}", name: "Test", last_name: "User", avatar: users[0][:avatar], password: DEFAULT_PASSWORD, password_confirmation: DEFAULT_PASSWORD - end - end - -end diff --git a/test/fixtures/order_items.yml b/test/fixtures/order_items.yml index 93ff95a..5236ccc 100644 --- a/test/fixtures/order_items.yml +++ b/test/fixtures/order_items.yml @@ -1,11 +1,11 @@ # == Schema Information # -# Table name: order_products +# Table name: order_items # # id :integer not null, primary key # order_id :integer -# product_id :integer -# count :integer default(1) +# product_id :integer not null +# count :integer default("0") # # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html diff --git a/test/fixtures/orders.yml b/test/fixtures/orders.yml index bbd0fdd..f000b4a 100644 --- a/test/fixtures/orders.yml +++ b/test/fixtures/orders.yml @@ -2,11 +2,12 @@ # # Table name: orders # -# id :integer not null, primary key -# user_id :integer -# cost :integer -# created_at :datetime not null -# updated_at :datetime not null +# id :integer not null, primary key +# user_id :integer +# price_cents :integer +# created_at :datetime not null +# updated_at :datetime not null +# cancelled :boolean default("f") # # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html diff --git a/test/fixtures/products.yml b/test/fixtures/products.yml index 34ff39b..fc33fd8 100644 --- a/test/fixtures/products.yml +++ b/test/fixtures/products.yml @@ -3,16 +3,16 @@ # Table name: products # # id :integer not null, primary key -# name :string(255) not null -# price_cents :integer default(0), not null -# category :integer default(0) -# stock :integer default(0), not null -# avatar_file_name :string(255) -# avatar_content_type :string(255) -# avatar_file_size :integer -# avatar_updated_at :datetime +# name :string not null +# price_cents :integer default("0"), not null # created_at :datetime # updated_at :datetime +# avatar_file_name :string +# avatar_content_type :string +# avatar_file_size :integer +# avatar_updated_at :datetime +# category :integer default("0") +# stock :integer default("0"), not null # # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html diff --git a/test/fixtures/users.yml b/test/fixtures/users.yml index a03ce63..8aa90d9 100644 --- a/test/fixtures/users.yml +++ b/test/fixtures/users.yml @@ -3,27 +3,29 @@ # Table name: users # # id :integer not null, primary key -# name :string(255) -# last_name :string(255) -# balance_cents :integer default(0), not null -# nickname :string(255) -# admin :boolean -# koelkast :boolean default(FALSE) -# dagschotel_id :integer -# orders_count :integer default(0) -# avatar_file_name :string(255) -# avatar_content_type :string(255) -# avatar_file_size :integer -# avatar_updated_at :datetime +# name :string +# last_name :string +# debt_cents :integer default("0"), not null +# nickname :string # created_at :datetime # updated_at :datetime -# encrypted_password :string(255) default(""), not null +# encrypted_password :string default(""), not null # remember_created_at :datetime -# sign_in_count :integer default(0), not null +# sign_in_count :integer default("0"), not null # current_sign_in_at :datetime # last_sign_in_at :datetime -# current_sign_in_ip :string(255) -# last_sign_in_ip :string(255) +# current_sign_in_ip :string +# last_sign_in_ip :string +# admin :boolean +# dagschotel_id :integer +# avatar_file_name :string +# avatar_content_type :string +# avatar_file_size :integer +# avatar_updated_at :datetime +# orders_count :integer default("0") +# koelkast :boolean default("f") +# provider :string +# uid :string # # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html diff --git a/test/integration/order_integration_test.rb b/test/integration/order_integration_test.rb index f2efda5..0f9492c 100644 --- a/test/integration/order_integration_test.rb +++ b/test/integration/order_integration_test.rb @@ -15,14 +15,14 @@ class OrderIntegrationTest < ActionDispatch::IntegrationTest assert page.has_content? 'Order for benji' - assert_difference "User.find(users(:benji).id).balance_cents", -240 do + assert_difference "User.find(users(:benji).id).debt_cents", 240 do fill_in 'order_order_items_attributes_2_count', with: 2 click_button "Order!" end end test 'quickpay' do - assert_difference "User.find(users(:benji).id).balance_cents", -User.find(users(:benji).id).dagschotel.price_cents do + assert_difference "User.find(users(:benji).id).debt_cents", User.find(users(:benji).id).dagschotel.price_cents do visit user_quickpay_path(users(:benji)) assert page.has_content? 'Success!' end @@ -31,7 +31,7 @@ class OrderIntegrationTest < ActionDispatch::IntegrationTest test 'cancelling quickpay' do visit user_quickpay_path(users(:benji)) - assert_difference "User.find(users(:benji).id).balance_cents", User.find(users(:benji).id).dagschotel.price_cents do + assert_difference "User.find(users(:benji).id).debt_cents", -User.find(users(:benji).id).dagschotel.price_cents do click_link 'Undo' assert page.has_content? 'Success!' end diff --git a/test/integration/stock_test.rb b/test/integration/stock_test.rb index bfdc6df..970e0ab 100644 --- a/test/integration/stock_test.rb +++ b/test/integration/stock_test.rb @@ -10,7 +10,7 @@ class StockTest < ActiveSupport::TestCase end assert_difference "products(:fanta).stock", +2 do - order.destroy + order.cancel end end end diff --git a/test/models/order_test.rb b/test/models/order_test.rb index ef55eff..16f6ae3 100644 --- a/test/models/order_test.rb +++ b/test/models/order_test.rb @@ -2,11 +2,12 @@ # # Table name: orders # -# id :integer not null, primary key -# user_id :integer -# cost :integer -# created_at :datetime not null -# updated_at :datetime not null +# id :integer not null, primary key +# user_id :integer +# price_cents :integer +# created_at :datetime not null +# updated_at :datetime not null +# cancelled :boolean default("f") # require 'test_helper' @@ -19,7 +20,7 @@ class OrderTest < ActiveSupport::TestCase end test "order total price is correct" do - assert_equal @order.price, 300 + assert_equal @order.price, 3.00 end test "to_sentence is correct" do diff --git a/test/models/product_test.rb b/test/models/product_test.rb index 51e08b0..d5e391f 100644 --- a/test/models/product_test.rb +++ b/test/models/product_test.rb @@ -3,16 +3,16 @@ # Table name: products # # id :integer not null, primary key -# name :string(255) not null -# price_cents :integer default(0), not null -# category :integer default(0) -# stock :integer default(0), not null -# avatar_file_name :string(255) -# avatar_content_type :string(255) -# avatar_file_size :integer -# avatar_updated_at :datetime +# name :string not null +# price_cents :integer default("0"), not null # created_at :datetime # updated_at :datetime +# avatar_file_name :string +# avatar_content_type :string +# avatar_file_size :integer +# avatar_updated_at :datetime +# category :integer default("0") +# stock :integer default("0"), not null # require 'test_helper' diff --git a/test/models/user_test.rb b/test/models/user_test.rb index 25c63b8..b3bad39 100644 --- a/test/models/user_test.rb +++ b/test/models/user_test.rb @@ -3,27 +3,29 @@ # Table name: users # # id :integer not null, primary key -# name :string(255) -# last_name :string(255) -# balance_cents :integer default(0), not null -# nickname :string(255) -# admin :boolean -# koelkast :boolean default(FALSE) -# dagschotel_id :integer -# orders_count :integer default(0) -# avatar_file_name :string(255) -# avatar_content_type :string(255) -# avatar_file_size :integer -# avatar_updated_at :datetime +# name :string +# last_name :string +# debt_cents :integer default("0"), not null +# nickname :string # created_at :datetime # updated_at :datetime -# encrypted_password :string(255) default(""), not null +# encrypted_password :string default(""), not null # remember_created_at :datetime -# sign_in_count :integer default(0), not null +# sign_in_count :integer default("0"), not null # current_sign_in_at :datetime # last_sign_in_at :datetime -# current_sign_in_ip :string(255) -# last_sign_in_ip :string(255) +# current_sign_in_ip :string +# last_sign_in_ip :string +# admin :boolean +# dagschotel_id :integer +# avatar_file_name :string +# avatar_content_type :string +# avatar_file_size :integer +# avatar_updated_at :datetime +# orders_count :integer default("0") +# koelkast :boolean default("f") +# provider :string +# uid :string # require 'test_helper' @@ -37,14 +39,14 @@ class UserTest < ActiveSupport::TestCase assert_equal @user.full_name, "Benjamin Cousaert" end - test "balance behaves correctly" do - assert_equal @user.balance_cents, 0 - assert_equal @user.balance, 0 + test "debt behaves correctly" do + assert_equal @user.debt_cents, 0 + assert_equal @user.debt, 0 - @user.balance = 1.3 + @user.debt = 1.3 - assert_equal @user.balance, 1.3 - assert_equal @user.balance_cents, 130 + assert_equal @user.debt, 1.3 + assert_equal @user.debt_cents, 130 end test "to_param" do