Acceptance tests for user
This commit is contained in:
@@ -31,7 +31,7 @@ module Admin
|
||||
sign_in user
|
||||
render layout: false
|
||||
else
|
||||
render nothing: true
|
||||
head :not_found
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
module UsersHelper
|
||||
def user_ember_target
|
||||
"*"
|
||||
end
|
||||
end
|
||||
+2
-2
@@ -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
|
||||
|
||||
@@ -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
@@ -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,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}"
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user