Better tests

This commit is contained in:
2014-12-05 14:48:20 +01:00
parent 3941529d0d
commit 1a3f528731
11 changed files with 59 additions and 43 deletions
@@ -33,7 +33,8 @@ App.ProductOrdersController = Ember.ArrayController.extend
#data = @get('product_orders').map( (po)->po.serialize() )
dataObject = order: {table_id: @get('controllers.table.model.id')}
@get('product_orders').forEach (product_order)-> dataObject['order'][product_order.get('product.id')] = product_order.get('quantity')
Ember.$.post "#{$data_host}/user/orders.json", dataObject
Ember.$.post "#{$data_host}/user/orders.json", dataObject, (response) =>
@store.pushPayload('order', response) if response.order
@transitionToRoute 'active_list'
@get('product_orders').invoke 'unloadRecord'
+33 -29
View File
@@ -1,34 +1,38 @@
App.ApplicationSerializer = DS.ActiveModelSerializer.extend
serializeBelongsTo: (record, json, relationship) ->
console.log "Serialize belongsTo #{record.toString()}"
key = relationship.key
belongsTo = Ember.get(record, key)
key = (if @keyForRelationship then @keyForRelationship(key, "belongsTo") else key)
if relationship.options.embedded is "always"
json[key] = belongsTo.serialize()
else
@_super record, json, relationship
#App.ApplicationSerializer = DS.ActiveModelSerializer.extend
#serializeBelongsTo: (record, json, relationship) ->
#console.log "Serialize belongsTo #{record.toString()}"
#key = relationship.key
#belongsTo = Ember.get(record, key)
#key = (if @keyForRelationship then @keyForRelationship(key, "belongsTo") else key)
#if relationship.options.embedded is "always"
#json[key] = belongsTo.serialize()
#else
#@_super record, json, relationship
serializeHasMany: (record, json, relationship) ->
console.log "Serialize hasMany #{record.toString()}"
key = relationship.key
hasMany = Ember.get(record, key)
relationshipType = DS.RelationshipChange.determineRelationshipType(record.constructor, relationship)
if relationship.options.embedded is "always"
if hasMany and relationshipType is "manyToNone" or relationshipType is "manyToMany" or relationshipType is "manyToOne"
json[key] = []
hasMany.forEach (item, index) ->
json[key].push item.serialize()
else
@_super record, json, relationship
#serializeHasMany: (record, json, relationship) ->
#console.log "Serialize hasMany #{record.toString()}"
#key = relationship.key
#hasMany = Ember.get(record, key)
#relationshipType = DS.RelationshipChange.determineRelationshipType(record.constructor, relationship)
#if relationship.options.embedded is "always"
#if hasMany and relationshipType is "manyToNone" or relationshipType is "manyToMany" or relationshipType is "manyToOne"
#json[key] = []
#hasMany.forEach (item, index) ->
#json[key].push item.serialize()
#else
#@_super record, json, relationship
App.ApplicationSerializer = DS.ActiveModelSerializer.extend()
App.ApplicationStore = DS.Store.extend
adapter: DS.RESTAdapter.extend
#adapter: DS.RESTAdapter.extend
#host: $data_host
#namespace: 'user'
## user underscored paths
#pathForType: (type)->
#decamelized = Ember.String.decamelize(type)
#Ember.String.pluralize(decamelized)
#headers:
#Accept: 'application/json'
adapter: DS.ActiveModelAdapter.extend
host: $data_host
namespace: 'user'
# user underscored paths
pathForType: (type)->
decamelized = Ember.String.decamelize(type)
Ember.String.pluralize(decamelized)
headers:
Accept: 'application/json'
@@ -6,15 +6,15 @@ header.top-menu
if list.id
link-to 'index' class="top-menu-logo with-list"
= image_tag 'user/logo-small.png'
App.MenuItemView route="active_list"
App.MenuItemView route='table' route_param=list.table.id
App.MenuItemListNeedsHelpView
App.MenuItemListNeedsPaymentView
= view "menu-item" route="active_list"
= view "menu-item" route="table" route_param=list.table.id
= view "menu-item-list-needs-help"
= view "menu-item-list-needs-payment"
else
link-to 'index' class="top-menu-logo without-list"
= image_tag 'user/logo-small.png'
App.MenuItemScanQrView
App.MenuItemProductOrdersView
= view "menu-item-scan-qr"
= view "menu-item-product-orders"
if list
.extra-info
.supplier-info-row
@@ -1,6 +1,6 @@
.row
h2=t 'models.plural.list'
each list in lists: App.ListIndexView contentBinding='list'
each list in lists: = view "list-index" contentBinding='list'
.clearfix
if hasMore
button{action "showMore"}=t 'lists.show_more'
@@ -1,2 +1,2 @@
each table in tables
a{action selectQr table}: img src="/table_qr_image.svg?table_id=#{unbound table._id}"
a{action "selectQr" table}: img src="/table_qr_image.svg?table_id=#{unbound table._id}"
+2 -2
View File
@@ -28,8 +28,8 @@ module Users
list = List.from_table( table, current_user )
end
order = list.place_order products: converted_order, user: current_user
# render json: order, serializer: OrderSerializer
render nothing: true
render json: order, serializer: OrderSerializer
#render nothing: true
end
end
end
@@ -3,7 +3,7 @@ class UserExtendedSupplierSerializer < Qwaiter::Serializer
embed :ids, include: true
attributes :extended_version, :open, :name, :orders_in_process_count, :orders_placed_count
has_many :product_categories
has_many :products
#has_many :products only product in category!!!!!!
def extended_version
true
+2
View File
@@ -4,6 +4,8 @@ module Qwaiter
def broadcast(message)
@uri ||= URI.parse(Qwaiter.event_host)
Net::HTTP.post_form(@uri, message: message.merge(ext: {auth_token: '6be65f9b5e7d21b8ca8de4ccfad5ba24cf40d440b370af79'}).to_json)
rescue => e
Rails.logger.error("[FAYE] #{e.message}")
end
end
end
@@ -64,8 +64,8 @@ end
step "the user order :product_name should be in the order list with price" do |product_name|
concerning_product = Product.find_by_name(product_name)
#ember_order = ember_store['product_orders'].find{|po| po['product_id'] == concerning_product.id}
ember_order = ember_find('product_order', concerning_product.id)
binding.pry
#ember_order = ember_find('product_order', concerning_product.id)
ember_order = ember_all('product_order').find{|po| po['product_id'] == concerning_product.id }
quantity = ember_order['quantity']
order_price = quantity * concerning_product.price
within '.product-orders .product-order' do
@@ -9,6 +9,7 @@ end
step "the user clicks on the lists link in the side menu" do
page.execute_script %|$('.side-menu-lists').click()|
sleep 1
end
step "the user clicks on the about link in the side menu" do
@@ -16,6 +17,7 @@ step "the user clicks on the about link in the side menu" do
end
step "the user clicks on the active list link in the side menu" do
binding.pry
page.execute_script %|$('.side-menu-active-list').click()|
end
+7
View File
@@ -23,6 +23,13 @@ module SpecEmberHelpers
SCRIPT
end
def ember_all(typeKey)
h = page.evaluate_script <<-SCRIPT
$s = App.__container__.lookup('store:main');
$s.all('#{typeKey}').invoke('serialize')
SCRIPT
end
def js_path
page.evaluate_script 'location.pathname + location.hash'
end