Acceptance tests for user

This commit is contained in:
2015-09-17 17:46:33 +02:00
parent 8e931cabd4
commit cb744943bd
35 changed files with 91 additions and 49 deletions
+1 -1
View File
@@ -31,7 +31,7 @@ module Admin
sign_in user
render layout: false
else
render nothing: true
head :not_found
end
end
+1 -1
View File
@@ -59,7 +59,7 @@ private
end
def _render_with_renderer_json(resource, options)
return super if resource.is_a?(Hash)
return super if resource.is_a?(Hash) or resource.is_a?(String)
options[:serializer] ||= begin
if resource.is_a?(SimplyStored::Couch)
#infer based on controller path replacing actual controller part with resouce part /lists/:id/table
+6 -1
View File
@@ -14,7 +14,7 @@ module Users
#EMBER
def current
@list = current_user.active_list
params[:id] = @list.id # serializer determines collection or not based on the presence of this
params[:id] = @list.try(:id) # serializer determines collection or not based on the presence of this
show
end
@@ -67,6 +67,11 @@ module Users
# POST /user/lists/:id/order_products
def order_products
res = {}
unless active_list.present?
res[:list_closed] = true
render json: res, status: 404
return
end
res[:supplier_closed] = active_list.supplier.closed?
unless res[:supplier_closed]
# Create new list
+1 -1
View File
@@ -75,7 +75,7 @@ module Users
list = List.from_table( table, current_user )
res[:active_list_id] = list.id # used to set the active list in the app
order = list.place_order product_orders: product_orders, user: current_user, first_order: true
res[:payload] = JSONAPI::Serializer.serialize(order, serializer: Users::OrderSerializer, include: %w[list product_orders])
res[:payload] = JSONAPI::Serializer.serialize(order, serializer: Users::OrderSerializer, include: %w[list list.users product_orders])
end
render json: res
end
+5
View File
@@ -0,0 +1,5 @@
module UsersHelper
def user_ember_target
"*"
end
end
+2 -2
View File
@@ -163,7 +163,7 @@ class List
for user in users
user.active_list_id = nil
user.save
broadcast_user user.id, 'list_closed', broadcast_info
#broadcast_user user.id, 'list_closed', broadcast_info
end
broadcast_supplier supplier_id, 'list_closed', broadcast_info
end
@@ -333,7 +333,7 @@ class List
user
product_orders
])
broadcast_users 'new_order', user_payload
broadcast_users 'new_order', supplier_orders_placed_count: orders_placed_count, payload: user_payload
broadcast_supplier supplier.id, 'new_order', supplier_orders_placed_count: orders_placed_count, payload: supplier_payload
end
#broadcast_supplier supplier.id, 'orders_placed_count', count: orders_placed_count # done inside new order payload
+1 -1
View File
@@ -20,7 +20,7 @@ class List
self.join_request_user_ids |= [requester.id]
self.is_dirty
if save
broadcast_users 'user_join_request', payload: JSONAPI::Serializer.serialize( join_request_for_user(requester), serializer: Users::JoinRequestSerializer, include: %w[list user])
broadcast_users 'user_join_request', payload: Users::JoinRequestSerializer.serialize(join_request_for_user(requester), include: %w[list user])
end
end
end
+3 -1
View File
@@ -13,7 +13,9 @@ class User
property :oauth_expires_at
property :auth_data
devise :database_authenticatable, :recoverable, :rememberable, :trackable, :omniauthable, :omniauth_providers => [:facebook, :instagram] #, :token_authenticatable , :registerable
devise_plugins = [:database_authenticatable, :recoverable, :rememberable, :trackable, :omniauthable, {omniauth_providers: [:facebook, :instagram]}] #, :token_authenticatable , :registerable
devise_plugins -= [:trackable] if Rails.env.test? # creates conflicts
devise *devise_plugins
property :authentication_token
+1 -1
View File
@@ -1,5 +1,5 @@
class Users::SupplierSerializer
include Qwaiter::UserBaseSerializer
attributes :open, :name
attributes :open, :name, :orders_placed_count, :orders_in_process_count
has_many :product_categories, serializer: Users::ProductCategorySerializer
end
@@ -5,8 +5,6 @@ html
localStorage.setItem('auth_token', '#{current_user.authentication_token}');
localStorage.setItem('user_id', '#{current_user.id}');
localStorage.setItem('locale', '#{I18n.default_locale}');
body
p Test login page
p= "Signed in as: #{current_user.email}"
+1 -1
View File
@@ -3,7 +3,7 @@
<head>
<script>
console.log("closing window");
window.opener.postMessage({user_id: '<%= params[:user_id] %>', authentication_token: '<%= params[:authentication_token] %>'}, "http://localhost:4200");
window.opener.postMessage({user_id: '<%= params[:user_id] %>', authentication_token: '<%= params[:authentication_token] %>'}, "<%= user_ember_target %>");
window.close();
</script>
</head>