Commit 2d73b67f by Greg Price

Merge pull request #99 from edx/gprice/remove-user-email

Remove email from User model and API
parents 78c8e6b8 1d501764
...@@ -34,7 +34,7 @@ task :environment do ...@@ -34,7 +34,7 @@ task :environment do
end end
def create_test_user(id) def create_test_user(id)
User.create!(external_id: id, username: "user#{id}", email: "user#{id}@test.com") User.create!(external_id: id, username: "user#{id}")
end end
Dir.glob('lib/tasks/*.rake').each { |r| import r } Dir.glob('lib/tasks/*.rake').each { |r| import r }
......
...@@ -3,7 +3,6 @@ require 'new_relic/agent/method_tracer' ...@@ -3,7 +3,6 @@ require 'new_relic/agent/method_tracer'
post "#{APIPREFIX}/users" do post "#{APIPREFIX}/users" do
user = User.new(external_id: params["id"]) user = User.new(external_id: params["id"])
user.username = params["username"] user.username = params["username"]
user.email = params["email"]
user.save user.save
if user.errors.any? if user.errors.any?
error 400, user.errors.full_messages.to_json error 400, user.errors.full_messages.to_json
...@@ -67,7 +66,7 @@ end ...@@ -67,7 +66,7 @@ end
put "#{APIPREFIX}/users/:user_id" do |user_id| put "#{APIPREFIX}/users/:user_id" do |user_id|
user = User.find_or_create_by(external_id: user_id) user = User.find_or_create_by(external_id: user_id)
user.update_attributes(params.slice(*%w[username email default_sort_key])) user.update_attributes(params.slice(*%w[username default_sort_key]))
if user.errors.any? if user.errors.any?
error 400, user.errors.full_messages.to_json error 400, user.errors.full_messages.to_json
else else
......
def log_in def log_in
visit "/" visit "/"
click_link "Log In" click_link "Log In"
fill_in "email", with: "student@student.com"
fill_in "password", with: "student" fill_in "password", with: "student"
click_button "Access My Courses" click_button "Access My Courses"
wait_until { page.find('.dashboard') } wait_until { page.find('.dashboard') }
......
...@@ -21,7 +21,7 @@ namespace :benchmark do ...@@ -21,7 +21,7 @@ namespace :benchmark do
x.report "create users" do x.report "create users" do
(1..USERS).each do |user_id| (1..USERS).each do |user_id|
data = { id: user_id, username: "user#{user_id}", email: "user#{user_id}@test.com" } data = { id: user_id, username: "user#{user_id}" }
RestClient.post "#{PREFIX}/users", data RestClient.post "#{PREFIX}/users", data
end end
end end
......
...@@ -7,7 +7,6 @@ class User ...@@ -7,7 +7,6 @@ class User
field :_id, type: String, default: -> { external_id } field :_id, type: String, default: -> { external_id }
field :external_id, type: String field :external_id, type: String
field :username, type: String field :username, type: String
field :email, type: String
field :default_sort_key, type: String, default: "date" field :default_sort_key, type: String, default: "date"
embeds_many :read_states embeds_many :read_states
...@@ -18,10 +17,8 @@ class User ...@@ -18,10 +17,8 @@ class User
validates_presence_of :external_id validates_presence_of :external_id
validates_presence_of :username validates_presence_of :username
validates_presence_of :email
validates_uniqueness_of :external_id validates_uniqueness_of :external_id
validates_uniqueness_of :username validates_uniqueness_of :username
validates_uniqueness_of :email
index( {external_id: 1}, {unique: true, background: true} ) index( {external_id: 1}, {unique: true, background: true} )
......
db.users.dropIndex({email: 1})
db.users.ensureIndex({email: 1}, {background: true})
...@@ -11,7 +11,7 @@ describe "app" do ...@@ -11,7 +11,7 @@ describe "app" do
describe "POST /api/v1/notifications" do describe "POST /api/v1/notifications" do
it "returns notifications by class and user" do it "returns notifications by class and user" do
start_time = Time.now start_time = Time.now
user = User.create(:email => "test@example.com",:external_id => 1,:username => "example") user = User.create(:external_id => 1,:username => "example")
commentable = Commentable.new("question_1") commentable = Commentable.new("question_1")
random_string = (0...8).map{ ('a'..'z').to_a[rand(26)] }.join random_string = (0...8).map{ ('a'..'z').to_a[rand(26)] }.join
thread = CommentThread.new(title: "Test title", body: "elephant otter", course_id: "1", commentable_id: commentable.id, comments_text_dummy: random_string) thread = CommentThread.new(title: "Test title", body: "elephant otter", course_id: "1", commentable_id: commentable.id, comments_text_dummy: random_string)
...@@ -42,7 +42,7 @@ describe "app" do ...@@ -42,7 +42,7 @@ describe "app" do
# first make a dummy thread and comment and a subscription # first make a dummy thread and comment and a subscription
commentable = Commentable.new("question_1") commentable = Commentable.new("question_1")
user = User.create(:email => "test@example.com",:external_id => 1,:username => "example") user = User.create(:external_id => 1,:username => "example")
random_string = (0...8).map{ ('a'..'z').to_a[rand(26)] }.join random_string = (0...8).map{ ('a'..'z').to_a[rand(26)] }.join
thread = CommentThread.new(title: "Test title", body: "elephant otter", course_id: "1", commentable_id: commentable.id, comments_text_dummy: random_string) thread = CommentThread.new(title: "Test title", body: "elephant otter", course_id: "1", commentable_id: commentable.id, comments_text_dummy: random_string)
...@@ -85,7 +85,7 @@ describe "app" do ...@@ -85,7 +85,7 @@ describe "app" do
start_time = Date.today - 100.days start_time = Date.today - 100.days
user = User.create(:email => "test@example.com",:external_id => 1,:username => "example") user = User.create(:external_id => 1,:username => "example")
sleep 1 sleep 1
......
...@@ -11,18 +11,15 @@ describe "app" do ...@@ -11,18 +11,15 @@ describe "app" do
end end
describe "POST /api/v1/users" do describe "POST /api/v1/users" do
it "creates a user" do it "creates a user" do
post "/api/v1/users", id: "100", username: "user100", email: "user100@test.com" post "/api/v1/users", id: "100", username: "user100"
last_response.should be_ok last_response.should be_ok
user = User.find_by(external_id: "100") user = User.find_by(external_id: "100")
user.username.should == "user100" user.username.should == "user100"
user.email.should == "user100@test.com"
end end
it "returns error when id / username / email already exists" do it "returns error when id / username already exists" do
post "/api/v1/users", id: "1", username: "user100", email: "user100@test.com" post "/api/v1/users", id: "1", username: "user100"
last_response.status.should == 400 last_response.status.should == 400
post "/api/v1/users", id: "100", username: "user1", email: "user100@test.com" post "/api/v1/users", id: "100", username: "user1"
last_response.status.should == 400
post "/api/v1/users", id: "100", username: "user100", email: "user1@test.com"
last_response.status.should == 400 last_response.status.should == 400
end end
end end
......
...@@ -23,8 +23,8 @@ require 'spec_helper' ...@@ -23,8 +23,8 @@ require 'spec_helper'
#what is the 'at' symbol doing there? @dementrock #what is the 'at' symbol doing there? @dementrock
#""" #"""
# User.delete_all # User.delete_all
# User.create!(external_id: "1", username: "tom", email: "tom@test.com") # User.create!(external_id: "1", username: "tom")
# User.create!(external_id: "2", username: "pi314", email: "pi314@test.com") # User.create!(external_id: "2", username: "pi314")
# end # end
# #
# describe "#get_marked_text(text)" do # describe "#get_marked_text(text)" do
......
...@@ -52,7 +52,7 @@ def parse(text) ...@@ -52,7 +52,7 @@ def parse(text)
end end
def create_test_user(id) def create_test_user(id)
User.create!(external_id: id.to_s, username: "user#{id}", email: "user#{id}@test.com") User.create!(external_id: id.to_s, username: "user#{id}")
end end
def init_without_subscriptions def init_without_subscriptions
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment