All specs green, ember transition successful
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
Qsupplier.App = Ember.Application.create
|
Qsupplier.App = Ember.Application.create
|
||||||
LOG_TRANSITIONS: true
|
LOG_TRANSITIONS: true
|
||||||
rootElement: '#ember-app-container'
|
rootElement: '#ember-app-container'
|
||||||
|
store: -> @__container__.lookup('controller:application').store
|
||||||
|
|||||||
@@ -9,7 +9,8 @@ Qsupplier.App.List = DS.Model.extend
|
|||||||
#has_active_orders: attr 'boolean'
|
#has_active_orders: attr 'boolean'
|
||||||
has_active_orders: (->
|
has_active_orders: (->
|
||||||
return false unless @get('state') == 'active'
|
return false unless @get('state') == 'active'
|
||||||
!!@get('orders').filterProperty('state', 'active').length
|
#!!@get('orders').filterProperty('state', 'active').length
|
||||||
|
!!@get('orders').filter( (order) -> order.get('state') is 'active' or order.get('state') is 'placed').length
|
||||||
).property('state', 'orders.@each.state')
|
).property('state', 'orders.@each.state')
|
||||||
price: attr 'number'
|
price: attr 'number'
|
||||||
closed_at: DS.attr('date')
|
closed_at: DS.attr('date')
|
||||||
|
|||||||
@@ -20,19 +20,30 @@ DS.Model.reopenClass
|
|||||||
else
|
else
|
||||||
#@store.find(@, attributes.id)
|
#@store.find(@, attributes.id)
|
||||||
@pushByAttriburtes(attributes)
|
@pushByAttriburtes(attributes)
|
||||||
pushByAttriburtes: (attributes)->
|
pushByAttriburtes: (attributes, options = {})->
|
||||||
#store = @all().get('store')
|
#store = @all().get('store')
|
||||||
|
|
||||||
#Ugly hack at the cost of an extra request since I do not yet know the proper
|
#Ugly hack at the cost of an extra request since I do not yet know the proper
|
||||||
#code for adding a record by its attributes and having its associations set
|
#code for adding a record by its attributes and having its associations set
|
||||||
#@find(attributes.id)
|
#@find(attributes.id)
|
||||||
|
decamelized = Ember.String.decamelize(@typeKey)
|
||||||
|
self_name = Ember.String.pluralize(decamelized)
|
||||||
|
self_name = self_name.substr(1) if self_name[0] == '.'
|
||||||
|
|
||||||
Ember.get(@, 'relationships').forEach (model, relation)=>
|
#belongs_tos = {}
|
||||||
relation = relation[0]
|
#Ember.get(@, 'relationships').forEach (model, relation)=>
|
||||||
if relation.kind == 'belongsTo' and id = attributes["#{relation.name}_id"]
|
#relation = relation[0]
|
||||||
attributes[relation.name] = id unless attributes[relation.name]
|
#if relation.kind == 'belongsTo' and id = attributes["#{relation.name}_id"]
|
||||||
|
#attributes[relation.name] = id unless attributes[relation.name]
|
||||||
|
#debugger if options.debug
|
||||||
|
#belongs_tos[relation.name] = id
|
||||||
|
|
||||||
@store.push @toString(), attributes
|
nested_attributes = {}
|
||||||
|
nested_attributes[self_name] = attributes
|
||||||
|
# pushPayload makes association back references, just push not yet 2014-06-27
|
||||||
|
new_record = @store.pushPayload(@toString(), nested_attributes)
|
||||||
|
|
||||||
|
#debugger if options.debug
|
||||||
|
|
||||||
#promises = []
|
#promises = []
|
||||||
#association_names = []
|
#association_names = []
|
||||||
|
|||||||
@@ -1,10 +1,15 @@
|
|||||||
.display-row
|
.display-row
|
||||||
.display-label=t 'attributes.list.created_at'
|
.display-label=t 'attributes.list.created_at'
|
||||||
.display-field=time list.created_at
|
.display-field=time list.created_at
|
||||||
|
if list.closed_at
|
||||||
|
.display-row
|
||||||
|
.display-label=t 'attributes.list.closed_at'
|
||||||
|
.display-field=time list.closed_at
|
||||||
.display-row
|
.display-row
|
||||||
.display-label=t 'attributes.list.state'
|
.display-label=t 'attributes.list.state'
|
||||||
.display-field=state 'list' list.state
|
.display-field=state 'list' list.state
|
||||||
each user in list.users
|
.row
|
||||||
|
each user in list.users
|
||||||
img.facebook-image src="http://graph.facebook.com/#{unbound user.facebook_id}/picture?type=square" alt="f"
|
img.facebook-image src="http://graph.facebook.com/#{unbound user.facebook_id}/picture?type=square" alt="f"
|
||||||
if list.orders
|
if list.orders
|
||||||
.list-orders-container
|
.list-orders-container
|
||||||
|
|||||||
@@ -5,7 +5,11 @@ root.Qsupplier=
|
|||||||
faye.subscribe "/supplier/"+supplier_id, (e)=>
|
faye.subscribe "/supplier/"+supplier_id, (e)=>
|
||||||
console.log(e)
|
console.log(e)
|
||||||
if(e.event == 'new_order')
|
if(e.event == 'new_order')
|
||||||
Qsupplier.App.Order.pushByAttriburtes(e.data.order) if Qsupplier.App
|
if Qsupplier.App
|
||||||
|
Qsupplier.App.store().pushPayload e.data
|
||||||
|
#Qsupplier.App.Order.pushByAttriburtes(e.data.order)
|
||||||
|
#for product_order in e.data.product_orders
|
||||||
|
#Qsupplier.App.ProductOrder.pushByAttriburtes product_order, debug: true
|
||||||
else if(e.event == 'list_needs_help')
|
else if(e.event == 'list_needs_help')
|
||||||
if Qsupplier.App and list = Qsupplier.App.List.findCached(e.data.id)
|
if Qsupplier.App and list = Qsupplier.App.List.findCached(e.data.id)
|
||||||
list.markNeedsHelp()
|
list.markNeedsHelp()
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ App.List = DS.Model.extend
|
|||||||
supplier_name: attr('string')
|
supplier_name: attr('string')
|
||||||
state: attr('string')
|
state: attr('string')
|
||||||
price: attr('number')
|
price: attr('number')
|
||||||
|
closed_at: DS.attr('date')
|
||||||
extended_version: attr('boolean')
|
extended_version: attr('boolean')
|
||||||
supplier_orders_in_process_count: attr('number')
|
supplier_orders_in_process_count: attr('number')
|
||||||
supplier_orders_placed_count: attr('number')
|
supplier_orders_placed_count: attr('number')
|
||||||
|
|||||||
@@ -1,5 +1,15 @@
|
|||||||
each user in list.users
|
each user in list.users
|
||||||
img.facebook-image src="http://graph.facebook.com/#{unbound user.facebook_id}/picture?type=square" alt="f"
|
img.facebook-image src="http://graph.facebook.com/#{unbound user.facebook_id}/picture?type=square" alt="f"
|
||||||
|
.display-row
|
||||||
|
.display-label=t 'attributes.list.created_at'
|
||||||
|
.display-field=time list.created_at
|
||||||
|
if list.closed_at
|
||||||
|
.display-row
|
||||||
|
.display-label=t 'attributes.list.closed_at'
|
||||||
|
.display-field=time list.closed_at
|
||||||
|
.display-row
|
||||||
|
.display-label=t 'attributes.list.state'
|
||||||
|
.display-field=state 'list' list.state
|
||||||
if list.orders
|
if list.orders
|
||||||
.list-orders-container
|
.list-orders-container
|
||||||
each order in list.sorted_orders
|
each order in list.sorted_orders
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
.display-row
|
||||||
|
@extend .row
|
||||||
|
.display-label
|
||||||
|
font-weight: bold
|
||||||
|
@media #{$small-only}
|
||||||
|
+grid-column($columns:10, $center:true)
|
||||||
|
@media #{$medium-only}
|
||||||
|
+grid-column($columns:4, $offset:1)
|
||||||
|
@media #{$large-up}
|
||||||
|
+grid-column(3)
|
||||||
|
.display-field
|
||||||
|
@media #{$small-only}
|
||||||
|
+grid-column($columns:10, $center:true, $last-column:true)
|
||||||
|
@media #{$medium-only}
|
||||||
|
+grid-column($columns:4, $last-column:true)
|
||||||
|
@media #{$large-up}
|
||||||
|
+grid-column($columns: 3, $last-column:true)
|
||||||
@@ -12,6 +12,7 @@
|
|||||||
clear: right
|
clear: right
|
||||||
+panel($padding: 4px)
|
+panel($padding: 4px)
|
||||||
.list-orders-container
|
.list-orders-container
|
||||||
|
border-top: 2px solid #555
|
||||||
.currency
|
.currency
|
||||||
float: right
|
float: right
|
||||||
list-style: none
|
list-style: none
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
@import ./menu_main
|
@import ./menu_main
|
||||||
@import ./menu_side
|
@import ./menu_side
|
||||||
@import ./qmodal
|
@import ./qmodal
|
||||||
|
@import ./display_fields
|
||||||
@import ./qproduct_orders
|
@import ./qproduct_orders
|
||||||
@import ./qproduct_categories
|
@import ./qproduct_categories
|
||||||
@import ./form_additions
|
@import ./form_additions
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ header.top-menu
|
|||||||
.table-number
|
.table-number
|
||||||
.supplier-info-row
|
.supplier-info-row
|
||||||
.counter.supplier-orders-placed-count
|
.counter.supplier-orders-placed-count
|
||||||
span.orders-placed-count-number= current_supplier.orders_placed_count
|
span.supplier-orders-placed-count-number= current_supplier.orders_placed_count
|
||||||
span.orders-placed-count-icon
|
span.supplier-orders-placed-count-icon
|
||||||
.counter.supplier-orders-in-process-count
|
.counter.supplier-orders-in-process-count
|
||||||
span.supplier-orders-in-process-count-number= current_supplier.orders_in_process_count
|
span.supplier-orders-in-process-count-number= current_supplier.orders_in_process_count
|
||||||
span.supplier-orders-in-process-count-icon
|
span.supplier-orders-in-process-count-icon
|
||||||
|
|||||||
@@ -84,3 +84,7 @@ en:
|
|||||||
order_button: Order
|
order_button: Order
|
||||||
total: Total
|
total: Total
|
||||||
no_orders: No products
|
no_orders: No products
|
||||||
|
state:
|
||||||
|
list:
|
||||||
|
active: 'Active'
|
||||||
|
closed: 'Closed'
|
||||||
|
|||||||
@@ -82,3 +82,7 @@ nl:
|
|||||||
order_button: Bestel
|
order_button: Bestel
|
||||||
total: Totaal
|
total: Totaal
|
||||||
no_orders: Geen bestellingen
|
no_orders: Geen bestellingen
|
||||||
|
state:
|
||||||
|
list:
|
||||||
|
active: 'Actief'
|
||||||
|
closed: 'Afgesloten'
|
||||||
|
|||||||
@@ -11,6 +11,9 @@ Feature: Supplier section view
|
|||||||
And the section table should be marked as occupied
|
And the section table should be marked as occupied
|
||||||
And the section table should not be marked as in need of help
|
And the section table should not be marked as in need of help
|
||||||
|
|
||||||
|
When the order gets marked as being in process
|
||||||
|
Then the section table should still be marked as having an active order
|
||||||
|
|
||||||
When the list is marked as in need of help
|
When the list is marked as in need of help
|
||||||
# waiting here only needed in old style implementation
|
# waiting here only needed in old style implementation
|
||||||
And I wait 1 second
|
And I wait 1 second
|
||||||
|
|||||||
@@ -23,6 +23,10 @@ step "the user order should be created as a new order" do
|
|||||||
end
|
end
|
||||||
|
|
||||||
step "the user order gets marked as being in process" do
|
step "the user order gets marked as being in process" do
|
||||||
|
step "the order gets marked as being in process"
|
||||||
|
end
|
||||||
|
|
||||||
|
step "the order gets marked as being in process" do
|
||||||
@order.is_being_processed!
|
@order.is_being_processed!
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -134,7 +134,6 @@ step "the active list changes to another table in another section" do
|
|||||||
end
|
end
|
||||||
|
|
||||||
step "the supplier main board table number should be updated to the new table number" do
|
step "the supplier main board table number should be updated to the new table number" do
|
||||||
binding.pry
|
|
||||||
expect( find(".list-row-#{@list.id} .table_number").text ).to eq "65"
|
expect( find(".list-row-#{@list.id} .table_number").text ).to eq "65"
|
||||||
expect( find(".order-row-#{@list.orders.first.id} .table_number").text ).to eq "65"
|
expect( find(".order-row-#{@list.orders.first.id} .table_number").text ).to eq "65"
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -10,9 +10,11 @@ end
|
|||||||
|
|
||||||
step "the section table should be marked as having an active order" do
|
step "the section table should be marked as having an active order" do
|
||||||
table = page.find(".section-table-#{@table.id}")
|
table = page.find(".section-table-#{@table.id}")
|
||||||
binding.pry
|
|
||||||
table['class'].should include 'active_order'
|
table['class'].should include 'active_order'
|
||||||
end
|
end
|
||||||
|
step "the section table should still be marked as having an active order" do
|
||||||
|
step "the section table should be marked as having an active order"
|
||||||
|
end
|
||||||
|
|
||||||
step "the section table should be marked as occupied" do
|
step "the section table should be marked as occupied" do
|
||||||
table = page.find(".section-table-#{@table.id}")
|
table = page.find(".section-table-#{@table.id}")
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ RSpec.configure do |config|
|
|||||||
config.include Matchers
|
config.include Matchers
|
||||||
config.include Features::BasicHelpers, type: :feature
|
config.include Features::BasicHelpers, type: :feature
|
||||||
config.include SpecRouteHelpers, type: :feature
|
config.include SpecRouteHelpers, type: :feature
|
||||||
|
config.include SpecEmberHelpers, type: :feature
|
||||||
#config.use_transactional_fixtures = true
|
#config.use_transactional_fixtures = true
|
||||||
config.infer_base_class_for_anonymous_controllers = true
|
config.infer_base_class_for_anonymous_controllers = true
|
||||||
config.filter_run_excluding broken: true
|
config.filter_run_excluding broken: true
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
module SpecEmberHelpers
|
||||||
|
def ember_store
|
||||||
|
h = page.evaluate_script <<-SCRIPT
|
||||||
|
$s = Qsupplier.App.__container__.lookup('controller:application').store;
|
||||||
|
JSON.stringify({
|
||||||
|
lists: $s.all('list').invoke('serialize'),
|
||||||
|
orders: $s.all('order').invoke('serialize'),
|
||||||
|
product_orders: $s.all('product_order').invoke('serialize'),
|
||||||
|
product_categories: $s.all('product_category').invoke('serialize'),
|
||||||
|
products: $s.all('product').invoke('serialize'),
|
||||||
|
sections: $s.all('section').invoke('serialize'),
|
||||||
|
tables: $s.all('table').invoke('serialize')
|
||||||
|
})
|
||||||
|
SCRIPT
|
||||||
|
JSON.parse(h)
|
||||||
|
end
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user