Skip to content

Commit 376b2b9

Browse files
author
Ashish Kumar Rudra
committed
replace space with underscore for username
1 parent b5edc69 commit 376b2b9

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

app/api/v1/gurus.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ class Gurus < Grape::API
3535
result
3636
end
3737

38+
guru_params[:username] = guru_params[:username].gsub(" ","_")
3839
guru = Guru.create!(guru_params)
3940
{ guru: Presenters::GuruPresenter.new(guru).present }
4041
end

spec/api/v1/gurus_spec.rb

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,40 @@ def create_guru_with_followers(followers_count)
160160
expect(guru.writeup).to eq("my writeup")
161161
end
162162

163+
it "saves underscore in place of space in database" do
164+
user_name = "AA BB cC dd"
165+
user_uuid = generate_uuid
166+
params = { guru:
167+
{
168+
username: user_name,
169+
userUuid: user_uuid,
170+
avatar: "my_image.jpg",
171+
pageTitle: "hello world",
172+
place: "chicago",
173+
writeup: "my writeup"
174+
}
175+
}
176+
177+
expect { post "/gurus_api/v1/gurus", params.to_json }.to change(Guru, :count).by(1)
178+
179+
# API Checks
180+
guru = response_json[:guru]
181+
expect(guru[:userUuid]).to eq(user_uuid)
182+
expect(guru[:username]).to eq("AA_BB_cC_dd")
183+
expect(guru[:avatar]).to eq("my_image.jpg")
184+
expect(guru[:pageTitle]).to eq("hello world")
185+
expect(guru[:place]).to eq("chicago")
186+
expect(guru[:writeup]).to eq("my writeup")
187+
188+
# DB Checks
189+
guru = Guru.find_by_user_uuid(user_uuid)
190+
expect(guru.username).to eq("AA_BB_cC_dd")
191+
expect(guru.avatar).to eq("my_image.jpg")
192+
expect(guru.page_title).to eq("hello world")
193+
expect(guru.place).to eq("chicago")
194+
expect(guru.writeup).to eq("my writeup")
195+
end
196+
163197
it "raises 400 if inputs are not valid/missing" do
164198
post "gurus_api/v1/gurus"
165199

0 commit comments

Comments
 (0)