Improve supplier settings logick
This commit is contained in:
@@ -8,4 +8,7 @@ App.SettingsController = Ember.ObjectController.extend
|
|||||||
actions:
|
actions:
|
||||||
saveSettings: ->
|
saveSettings: ->
|
||||||
@set 'saving', true
|
@set 'saving', true
|
||||||
@get('model').save().then (supplier) => @set 'saving', false
|
@get('model').save().then (supplier) =>
|
||||||
|
@set 'saving', false
|
||||||
|
$('.top-menu .supplier-name').text @get('model.name')
|
||||||
|
@transitionToRoute 'index'
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
h2=t 'settings.title'
|
h2=t 'settings.title'
|
||||||
.form-row
|
.form-row
|
||||||
.form-label: label=t 'attributes.supplier.name'
|
.form-label: label=t 'attributes.supplier.name'
|
||||||
.form-field: Ember.TextField valueBinding="controller.model.name"
|
.form-field: Ember.TextField valueBinding="controller.model.name" classNames="supplier-name"
|
||||||
.form-row
|
.form-row
|
||||||
.form-label: label=t 'attributes.supplier.email'
|
.form-label: label=t 'attributes.supplier.email'
|
||||||
.form-field: App.EmailField valueBinding="controller.model.email" classNames="supplier-email"
|
.form-field: App.EmailField valueBinding="controller.model.email" classNames="supplier-email"
|
||||||
|
|||||||
@@ -78,6 +78,7 @@ header.top-menu
|
|||||||
left: 0
|
left: 0
|
||||||
cursor: pointer
|
cursor: pointer
|
||||||
z-index: 100
|
z-index: 100
|
||||||
|
font-size: 1.4em
|
||||||
&.open
|
&.open
|
||||||
color: white
|
color: white
|
||||||
span
|
span
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ aside.side-menu
|
|||||||
top: 0
|
top: 0
|
||||||
width: 222px
|
width: 222px
|
||||||
height: 100%
|
height: 100%
|
||||||
|
opacity: 0.9
|
||||||
|
border-right: 2px solid black
|
||||||
z-index: 50
|
z-index: 50
|
||||||
h3
|
h3
|
||||||
color: white
|
color: white
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ class ConfirmationsController < Devise::ConfirmationsController
|
|||||||
|
|
||||||
def after_confirmation_path_for(resource_name, resource)
|
def after_confirmation_path_for(resource_name, resource)
|
||||||
case resource_name
|
case resource_name
|
||||||
when :supplier then supplier_settings_path
|
when :supplier then supplier_root_path(anchor: '/settings')
|
||||||
else root_path
|
else root_path
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,5 +1,15 @@
|
|||||||
Feature: Manage settings
|
Feature: Manage settings
|
||||||
|
|
||||||
|
@javascript
|
||||||
|
Scenario: Changing the name
|
||||||
|
Given there is a confirmed and open supplier
|
||||||
|
And I am signed in as supplier
|
||||||
|
And I visit the supplier settings path
|
||||||
|
When the supplier changes the name to "Test8" in the settings page
|
||||||
|
And the supplier submits the supplier settings form
|
||||||
|
Then the supplier should be redirected to the root path
|
||||||
|
And the supplier name in the page should be "Test8"
|
||||||
|
|
||||||
@javascript
|
@javascript
|
||||||
Scenario: Changing the supplier email
|
Scenario: Changing the supplier email
|
||||||
Given there is a confirmed and open supplier
|
Given there is a confirmed and open supplier
|
||||||
@@ -12,7 +22,7 @@ Feature: Manage settings
|
|||||||
And the supplier unconfirmed email should have been set to the new supplier email
|
And the supplier unconfirmed email should have been set to the new supplier email
|
||||||
And an email should have been sent to the original supplier email with email confirmation instructions
|
And an email should have been sent to the original supplier email with email confirmation instructions
|
||||||
When the supplier clicks on the new email confirmation link
|
When the supplier clicks on the new email confirmation link
|
||||||
Then the supplier gets redirected to the supplier settings path
|
Then the supplier should be redirected to the supplier settings path
|
||||||
And the supplier email is the new email and the unconfirmed email is empty
|
And the supplier email is the new email and the unconfirmed email is empty
|
||||||
|
|
||||||
@javascript @broken
|
@javascript @broken
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
Feature: A supplier can sign up
|
Feature: A supplier can sign up
|
||||||
|
|
||||||
|
@javascript
|
||||||
Scenario: It works
|
Scenario: It works
|
||||||
When I visit the supplier signup path
|
When I visit the supplier signup path
|
||||||
And fill in the supplier signup form with new credentials
|
And fill in the supplier signup form with new credentials
|
||||||
And click on the supplier signup submit button
|
And click on the supplier signup submit button
|
||||||
|
And I wait 1 second
|
||||||
Then a new unconfirmed supplier with the new signup credentials should be created
|
Then a new unconfirmed supplier with the new signup credentials should be created
|
||||||
And a supplier signup confirmation mail should be sent containing a link to the token
|
And a supplier signup confirmation mail should be sent containing a link to the token
|
||||||
When I visit the supplier signup confirmation path with the correct token
|
When I visit the supplier signup confirmation path with the correct token
|
||||||
Then the new signup supplier should be confirmed
|
Then the new signup supplier should be confirmed
|
||||||
And I should be redirected to the supplier settings page
|
And the supplier should be redirected to the supplier settings path
|
||||||
|
|
||||||
|
|||||||
@@ -23,3 +23,7 @@ step "the supplier has a night offset of :minutes minutes" do |minutes|
|
|||||||
@supplier.night_offset = minutes
|
@supplier.night_offset = minutes
|
||||||
@supplier.save
|
@supplier.save
|
||||||
end
|
end
|
||||||
|
|
||||||
|
step "the supplier name in the page should be :name" do |name|
|
||||||
|
page.find('.top-menu .supplier-name').text.should == name
|
||||||
|
end
|
||||||
|
|||||||
@@ -22,3 +22,10 @@ end
|
|||||||
step "I visit the supplier settings path" do
|
step "I visit the supplier settings path" do
|
||||||
visit "/supplier#/settings"
|
visit "/supplier#/settings"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
## ASSERTIONS
|
||||||
|
|
||||||
|
step "the supplier should be redirected to the root path" do
|
||||||
|
ember_route.should == '/'
|
||||||
|
end
|
||||||
|
|||||||
@@ -27,12 +27,17 @@ step "an email should have been sent to the original supplier email with email c
|
|||||||
@confirmation_link = confirmation_link_match[1]
|
@confirmation_link = confirmation_link_match[1]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
step "the supplier changes the name to :name in the settings page" do |new_name|
|
||||||
|
page.find('input.supplier-name').set new_name
|
||||||
|
end
|
||||||
|
|
||||||
step "the supplier clicks on the new email confirmation link" do
|
step "the supplier clicks on the new email confirmation link" do
|
||||||
visit @confirmation_link
|
visit @confirmation_link
|
||||||
end
|
end
|
||||||
|
|
||||||
step "the supplier gets redirected to the supplier settings path" do
|
step "the supplier should be redirected to the supplier settings path" do
|
||||||
route_should_be 'supplier#edit'
|
# route_should_be 'supplier#edit'
|
||||||
|
ember_route.should == '/settings'
|
||||||
end
|
end
|
||||||
|
|
||||||
step "the supplier email is the new email and the unconfirmed email is empty" do
|
step "the supplier email is the new email and the unconfirmed email is empty" do
|
||||||
|
|||||||
@@ -19,6 +19,9 @@ module SpecRouteHelpers
|
|||||||
end
|
end
|
||||||
|
|
||||||
def ember_route
|
def ember_route
|
||||||
page.evaluate_script %|App.__container__.lookup('router:main').location.lastSetURL|
|
# currentRouteName does not include model information: /list/123 => currentRouteName == 'list'
|
||||||
|
# page.evaluate_script %|App.__container__.lookup('controller:application').get('currentRouteName')|
|
||||||
|
# page.evaluate_script %|App.__container__.lookup('router:main').location.lastSetURL| # not working for direct path supplier#/settings
|
||||||
|
page.evaluate_script %{App.__container__ && (window.location.hash || "#/").substr(1)}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user