Skip to content

Commit fa9c4df

Browse files
committed
Update API to have firstname and lastname fields
Update the address handling logic in the APIs and tests to separate the 'firstname' and 'lastname' fields, instead of using a single 'name' field.
1 parent c9416ff commit fa9c4df

File tree

5 files changed

+22
-15
lines changed

5 files changed

+22
-15
lines changed

api/lib/spree/api_configuration.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ class ApiConfiguration < Preferences::Configuration
6161
]
6262

6363
preference :address_attributes, :array, default: [
64-
:id, :name, :address1, :address2, :city, :zipcode, :phone, :company,
64+
:id, :firstname, :lastname, :address1, :address2, :city, :zipcode, :phone, :company,
6565
:alternative_phone, :country_id, :country_iso, :state_id, :state_name,
6666
:state_text
6767
]

api/spec/requests/spree/api/address_books_spec.rb

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ module Spree::Api
77
let!(:state) { create(:state) }
88
let!(:harry_address_attributes) do
99
{
10-
'name' => 'Harry Potter',
10+
'firstname' => 'Harry',
11+
'lastname' => 'Potter',
1112
'address1' => '4 Privet Drive',
1213
'address2' => 'cupboard under the stairs',
1314
'city' => 'Surrey',
@@ -20,7 +21,8 @@ module Spree::Api
2021

2122
let!(:ron_address_attributes) do
2223
{
23-
'name' => 'Ron Weasly',
24+
'firstname' => 'Ron',
25+
'lastname' => 'Weasly',
2426
'address1' => 'Ottery St. Catchpole',
2527
'address2' => '4th floor',
2628
'city' => 'Devon, West Country',
@@ -53,7 +55,7 @@ module Spree::Api
5355
it 'updates my address book' do
5456
user = create(:user, spree_api_key: 'galleon')
5557
address = user.save_in_address_book(harry_address_attributes, true)
56-
harry_address_attributes['name'] = 'Ron Weasly'
58+
harry_address_attributes['firstname'] = 'Ron'
5759

5860
expect {
5961
put "/api/users/#{user.id}/address_book",
@@ -73,7 +75,7 @@ module Spree::Api
7375

7476
context "when updating a default address" do
7577
let(:user) { create(:user, spree_api_key: 'galleon') }
76-
let(:changes) { { name: "Hermione Granger", id: user.ship_address.id} }
78+
let(:changes) { { firstname: "Hermione", lastname: "Granger", id: user.ship_address.id} }
7779
before do
7880
# Create "Harry Potter" default shipping address
7981
user.save_in_address_book(harry_address_attributes, true)
@@ -168,7 +170,7 @@ module Spree::Api
168170
it "updates another user's address" do
169171
other_user = create(:user)
170172
address = other_user.save_in_address_book(harry_address_attributes, true)
171-
updated_harry_address = harry_address_attributes.merge('name' => 'Ron Weasly')
173+
updated_harry_address = harry_address_attributes.merge('firstname' => 'Ron')
172174

173175
expect {
174176
put "/api/users/#{other_user.id}/address_book",

api/spec/requests/spree/api/checkouts_spec.rb

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@ module Spree::Api
7171

7272
let(:address) do
7373
{
74-
name: 'John Doe',
74+
firstname: 'John',
75+
lastname: 'Doe',
7576
address1: '7735 Old Georgetown Road',
7677
city: 'Bethesda',
7778
phone: '3014445002',
@@ -94,8 +95,8 @@ module Spree::Api
9495
ship_address_attributes: address
9596
} }
9697
expect(json_response['state']).to eq('delivery')
97-
expect(json_response['bill_address']['name']).to eq('John Doe')
98-
expect(json_response['ship_address']['name']).to eq('John Doe')
98+
expect(json_response['bill_address']['firstname']).to eq('John')
99+
expect(json_response['ship_address']['firstname']).to eq('John')
99100
expect(response.status).to eq(200)
100101
end
101102

api/spec/requests/spree/api/orders_spec.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -531,12 +531,12 @@ module Spree::Api
531531

532532
let(:address_params) { { country_id: country.id } }
533533
let(:billing_address) {
534-
{ name: "Tiago Motta", address1: "Av Paulista",
534+
{ firstname: "Tiago", lastname: "Motta", address1: "Av Paulista",
535535
city: "Sao Paulo", zipcode: "01310-300", phone: "12345678",
536536
country_id: country.id, state_id: state.id }
537537
}
538538
let(:shipping_address) {
539-
{ name: "Tiago Motta", address1: "Av Paulista",
539+
{ firstname: "Tiago", lastname: "Motta", address1: "Av Paulista",
540540
city: "Sao Paulo", zipcode: "01310-300", phone: "12345678",
541541
country_id: country.id, state_id: state.id }
542542
}

api/spec/requests/spree/api/users_spec.rb

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ module Spree::Api
5050
put spree.api_user_path(user.id), params: { token: user.spree_api_key, user: {
5151
email: "mine@example.com",
5252
bill_address_attributes: {
53-
name: 'First Last',
53+
firstname: 'First',
54+
lastname: 'Last',
5455
address1: '1 Test Rd',
5556
city: 'City',
5657
country_id: country.id,
@@ -59,7 +60,8 @@ module Spree::Api
5960
phone: '5555555555'
6061
},
6162
ship_address_attributes: {
62-
name: 'First Last',
63+
firstname: 'First',
64+
lastname: 'Last',
6365
address1: '1 Test Rd',
6466
city: 'City',
6567
country_id: country.id,
@@ -83,7 +85,8 @@ module Spree::Api
8385
token: user.spree_api_key,
8486
email: "mine@example.com",
8587
bill_address_attributes: {
86-
name: 'First Last',
88+
firstname: 'First',
89+
lastname: 'Last',
8790
address1: '1 Test Rd',
8891
city: 'City',
8992
country_id: country.id,
@@ -92,7 +95,8 @@ module Spree::Api
9295
phone: '5555555555'
9396
},
9497
ship_address_attributes: {
95-
name: 'First Last',
98+
firstname: 'First',
99+
lastname: 'Last',
96100
address1: '1 Test Rd',
97101
city: 'City',
98102
country_id: country.id,

0 commit comments

Comments
 (0)