Commit 1d501764 by Greg Price

Remove email from User model and API

It was never actually used for anything except to enforce uniqueness,
which should be done by the LMS.
parent 78c8e6b8
...@@ -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