Set new employee name from email on sign-up
This commit is contained in:
@@ -29,7 +29,7 @@ class NewSupplier
|
|||||||
|
|
||||||
def persist!
|
def persist!
|
||||||
@employee ||= current_employee
|
@employee ||= current_employee
|
||||||
@employee ||= Employee.new email: email, password: password, password_confirmation: password_confirmation
|
@employee ||= Employee.new email: email, name: email.to_s.sub(/\@.*/, ''), password: password, password_confirmation: password_confirmation
|
||||||
raise "Cannot create employee with #{attributes.inspect}" unless employee.save
|
raise "Cannot create employee with #{attributes.inspect}" unless employee.save
|
||||||
@supplier = Supplier.create name: supplier_name
|
@supplier = Supplier.create name: supplier_name
|
||||||
supplier.add_manager employee
|
supplier.add_manager employee
|
||||||
|
|||||||
@@ -1,6 +1,25 @@
|
|||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe NewSupplier do
|
describe NewSupplier do
|
||||||
subject { described_class.new }
|
let(:new_supplier_params){ {supplier_name: "New suppy", email: 'suppy@example.com', password: 'admin123', password_confirmation: 'admin123'} }
|
||||||
|
subject { described_class.new new_supplier_params }
|
||||||
it { should_not be_persisted }
|
it { should_not be_persisted }
|
||||||
|
|
||||||
|
it 'sets the name of the new employee to the email prefix' do
|
||||||
|
subject.save
|
||||||
|
subject.employee.name.should eq 'suppy'
|
||||||
|
end
|
||||||
|
|
||||||
|
it "does not save anything when the password_confirmation is wrong" do
|
||||||
|
new_supplier_params[:password_confirmation] = "something$else"
|
||||||
|
subject.save.should be false
|
||||||
|
subject.errors[:password_confirmation].should be_present
|
||||||
|
end
|
||||||
|
|
||||||
|
it "does not create a supplier when the name is already taken" do
|
||||||
|
create :supplier, name: 'New suppy'
|
||||||
|
expect{ subject.save }.not_to change{ Supplier.count }
|
||||||
|
subject.errors[:supplier_name].should be_present
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user