41 lines
1.2 KiB
Ruby
41 lines
1.2 KiB
Ruby
module SpecEmberHelpers
|
|
def ember_store
|
|
h = page.evaluate_script <<-SCRIPT
|
|
$s = App.__container__.lookup('store:main');
|
|
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
|
|
|
|
def ember_find(typeKey, id)
|
|
h = page.evaluate_script <<-SCRIPT
|
|
$s = App.__container__.lookup('store:main');
|
|
record = $s.all('#{typeKey}').findBy('id', '#{id}');
|
|
record ? record.serialize() : null
|
|
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
|
|
|
|
def faye_log
|
|
JSON.parse(page.evaluate_script(%|JSON.stringify(window.faye_log)|))
|
|
end
|
|
end
|