Skip to content

Instantly share code, notes, and snippets.

@gabriel-dehan
Last active August 29, 2015 14:07
Show Gist options
  • Save gabriel-dehan/fcc4b2d1d8a20195ef88 to your computer and use it in GitHub Desktop.
Save gabriel-dehan/fcc4b2d1d8a20195ef88 to your computer and use it in GitHub Desktop.
GAAAAH IRC HELP ME PLS
App.Views.ActivityManager.AddUserRowView = App.View.extend({
tagName: 'tr',
className: 'add-user-row warning',
events: {
'click button[type=submit]': 'submit'
},
initialize: function(options) {
this.parent = options.parent;
_.bindAll(this, "render");
},
submit: function() {
this.model.set({
email: this.$('.email').val(),
password: this.$('.password').val()
});
var self = this;
this.model.save({}, {
success: function(model, response) {
console.log('submitted user');
self.parent.trigger("user:submit", model);
}
});
},
render: function() {
var template = _.template($('#activity-manager-add-user-row-template').html(), {model: this.model})
this.$el.html(template);
return this;
}
});
{"collect_id"=>1, "email"=>"[email protected]", "password"=>"password", "action"=>"create", "controller"=>"api/users", "user"=>{"email"=>"[email protected]"}}
Failures:
1) Managing a collect's users as a facilitator for collect users add user to collect adds the user to the collect
Failure/Error: Unable to find matching line from backtrace
ActiveRecord::RecordNotFound:
Couldn't find Collect with 'id'=1
# ./app/controllers/api/users_controller.rb:49:in `set_parent'
module Api
class UsersController < ApiController
before_action :set_parent
# ... actions and stuff
def set_parent
if params[:collect_id]
@parent = Collect.find(params[:collect_id])
elsif params[:workshop_id]
@parent = Workshop.find(params[:workshop_id])
end
end
end
# ...
config.before(:suite) do
DatabaseCleaner.strategy = :truncation
#DatabaseCleaner.clean_with(:truncation)
end
config.before(:each) do
DatabaseCleaner.start
end
config.after(:each) do
DatabaseCleaner.clean
end
# ...
describe "Managing a collect's users" do
include AuthenticationHelper
before(:each) do
@collect = FactoryGirl.create :collect_with_users
@workshop = @collect.workshop
@facilitator = @workshop.facilitator
@path = edit_facilitator_workshop_collect_path(@workshop, @collect, edit: 'users')
end
# ... visiting the webpage and other tests ...
it 'adds the user to the collect' do
user = FactoryGirl.create(:user)
@workshop.users << user
user_list.find('.add-user-row').tap do |row|
row.find('input.email').set(user.email)
row.find('input.password').set(user.password)
row.find('button[type=submit]').trigger('click')
end
# expect(@collect.users).to include user
end
end
ActiveRecord::SchemaMigration Load (0.4ms) SELECT "schema_migrations".* FROM "schema_migrations"
(0.3ms) BEGIN
User Exists (0.8ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = '[email protected]' LIMIT 1
SQL (0.8ms) INSERT INTO "users" ("created_at", "email", "encrypted_password", "facilitator", "updated_at") VALUES ($1, $2, $3, $4, $5) RETURNING "id" [["created_at", "2014-10-22 07:49:32.440283"], ["email", "[email protected]"], ["encrypted_password", "fluidity"], ["facilitator", "t"], ["updated_at", "2014-10-22 07:49:32.440283"]]
(0.7ms) COMMIT
(0.4ms) BEGIN
SQL (0.5ms) INSERT INTO "workshops" ("created_at", "entity_name", "facilitator_id", "name", "owner_name", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["created_at", "2014-10-22 07:49:32.456750"], ["entity_name", "entity_name 1"], ["facilitator_id", 1], ["name", "name 1"], ["owner_name", "owner_name 1"], ["updated_at", "2014-10-22 07:49:32.456750"]]
(0.6ms) COMMIT
(0.2ms) BEGIN
SQL (0.4ms) INSERT INTO "collects" ("created_at", "opened_at", "question", "updated_at", "workshop_id") VALUES ($1, $2, $3, $4, $5) RETURNING "id" [["created_at", "2014-10-22 07:49:32.461371"], ["opened_at", "2014-10-21 00:00:00.000000"], ["question", "question 1"], ["updated_at", "2014-10-22 07:49:32.461371"], ["workshop_id", 1]]
(0.6ms) COMMIT
(0.3ms) BEGIN
User Exists (0.5ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = '[email protected]' LIMIT 1
SQL (0.3ms) INSERT INTO "users" ("created_at", "email", "encrypted_password", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id" [["created_at", "2014-10-22 07:49:32.478356"], ["email", "[email protected]"], ["encrypted_password", "fluidity"], ["updated_at", "2014-10-22 07:49:32.478356"]]
(0.7ms) COMMIT
(0.2ms) BEGIN
SQL (0.4ms) INSERT INTO "collects_users" ("collect_id", "user_id") VALUES ($1, $2) RETURNING "id" [["collect_id", 1], ["user_id", 2]]
User Exists (0.6ms) SELECT 1 AS one FROM "users" INNER JOIN "users_workshops" ON "users"."id" = "users_workshops"."user_id" WHERE "users_workshops"."workshop_id" = $1 AND "users"."id" = 2 LIMIT 1 [["workshop_id", 1]]
SQL (0.4ms) INSERT INTO "users_workshops" ("user_id", "workshop_id") VALUES ($1, $2) RETURNING "id" [["user_id", 2], ["workshop_id", 1]]
(0.6ms) COMMIT
(0.2ms) BEGIN
User Exists (0.4ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = '[email protected]' LIMIT 1
SQL (0.3ms) INSERT INTO "users" ("created_at", "email", "encrypted_password", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id" [["created_at", "2014-10-22 07:49:32.507966"], ["email", "[email protected]"], ["encrypted_password", "fluidity"], ["updated_at", "2014-10-22 07:49:32.507966"]]
(0.6ms) COMMIT
(0.2ms) BEGIN
SQL (0.3ms) INSERT INTO "collects_users" ("collect_id", "user_id") VALUES ($1, $2) RETURNING "id" [["collect_id", 1], ["user_id", 3]]
User Exists (0.4ms) SELECT 1 AS one FROM "users" INNER JOIN "users_workshops" ON "users"."id" = "users_workshops"."user_id" WHERE "users_workshops"."workshop_id" = $1 AND "users"."id" = 3 LIMIT 1 [["workshop_id", 1]]
SQL (0.3ms) INSERT INTO "users_workshops" ("user_id", "workshop_id") VALUES ($1, $2) RETURNING "id" [["user_id", 3], ["workshop_id", 1]]
(0.5ms) COMMIT
(0.2ms) BEGIN
User Exists (0.3ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = '[email protected]' LIMIT 1
SQL (0.3ms) INSERT INTO "users" ("created_at", "email", "encrypted_password", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id" [["created_at", "2014-10-22 07:49:32.516563"], ["email", "[email protected]"], ["encrypted_password", "fluidity"], ["updated_at", "2014-10-22 07:49:32.516563"]]
(0.6ms) COMMIT
(0.2ms) BEGIN
SQL (0.4ms) INSERT INTO "collects_users" ("collect_id", "user_id") VALUES ($1, $2) RETURNING "id" [["collect_id", 1], ["user_id", 4]]
User Exists (0.5ms) SELECT 1 AS one FROM "users" INNER JOIN "users_workshops" ON "users"."id" = "users_workshops"."user_id" WHERE "users_workshops"."workshop_id" = $1 AND "users"."id" = 4 LIMIT 1 [["workshop_id", 1]]
SQL (0.4ms) INSERT INTO "users_workshops" ("user_id", "workshop_id") VALUES ($1, $2) RETURNING "id" [["user_id", 4], ["workshop_id", 1]]
(0.6ms) COMMIT
(0.3ms) BEGIN
User Exists (0.4ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = '[email protected]' LIMIT 1
SQL (0.3ms) INSERT INTO "users" ("created_at", "email", "encrypted_password", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id" [["created_at", "2014-10-22 07:49:32.529265"], ["email", "[email protected]"], ["encrypted_password", "fluidity"], ["updated_at", "2014-10-22 07:49:32.529265"]]
(0.5ms) COMMIT
(0.2ms) BEGIN
SQL (0.3ms) INSERT INTO "collects_users" ("collect_id", "user_id") VALUES ($1, $2) RETURNING "id" [["collect_id", 1], ["user_id", 5]]
User Exists (0.3ms) SELECT 1 AS one FROM "users" INNER JOIN "users_workshops" ON "users"."id" = "users_workshops"."user_id" WHERE "users_workshops"."workshop_id" = $1 AND "users"."id" = 5 LIMIT 1 [["workshop_id", 1]]
SQL (0.3ms) INSERT INTO "users_workshops" ("user_id", "workshop_id") VALUES ($1, $2) RETURNING "id" [["user_id", 5], ["workshop_id", 1]]
(0.5ms) COMMIT
(0.2ms) BEGIN
User Exists (0.4ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = '[email protected]' LIMIT 1
SQL (0.4ms) INSERT INTO "users" ("created_at", "email", "encrypted_password", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id" [["created_at", "2014-10-22 07:49:32.537887"], ["email", "[email protected]"], ["encrypted_password", "fluidity"], ["updated_at", "2014-10-22 07:49:32.537887"]]
(0.7ms) COMMIT
(0.2ms) BEGIN
SQL (0.3ms) INSERT INTO "collects_users" ("collect_id", "user_id") VALUES ($1, $2) RETURNING "id" [["collect_id", 1], ["user_id", 6]]
User Exists (0.3ms) SELECT 1 AS one FROM "users" INNER JOIN "users_workshops" ON "users"."id" = "users_workshops"."user_id" WHERE "users_workshops"."workshop_id" = $1 AND "users"."id" = 6 LIMIT 1 [["workshop_id", 1]]
SQL (0.4ms) INSERT INTO "users_workshops" ("user_id", "workshop_id") VALUES ($1, $2) RETURNING "id" [["user_id", 6], ["workshop_id", 1]]
(0.6ms) COMMIT
Started GET "/users/sign_in" for 127.0.0.1 at 2014-10-22 09:49:32 +0200
Processing by Devise::SessionsController#new as HTML
Rendered devise/sessions/new.html.erb within layouts/application (16.1ms)
Rendered shared/_js_variables.html.erb (0.9ms)
Rendered shared/_rollbar.html.erb (0.3ms)
Rendered shared/_phrase.html.erb (0.3ms)
Completed 200 OK in 548ms (Views: 535.9ms | ActiveRecord: 0.0ms)
Started POST "/users/sign_in" for 127.0.0.1 at 2014-10-22 09:49:34 +0200
Processing by Devise::SessionsController#create as HTML
Parameters: {"utf8"=>"✓", "user"=>{"email"=>"[email protected]", "password"=>"[FILTERED]", "remember_me"=>"0"}, "commit"=>"Sign in"}
User Load (0.9ms) SELECT "users".* FROM "users" WHERE "users"."email" = '[email protected]' ORDER BY "users"."id" ASC LIMIT 1
(0.2ms) BEGIN
SQL (0.4ms) UPDATE "users" SET "current_sign_in_at" = $1, "current_sign_in_ip" = $2, "last_sign_in_at" = $3, "last_sign_in_ip" = $4, "sign_in_count" = $5, "updated_at" = $6 WHERE "users"."id" = 1 [["current_sign_in_at", "2014-10-22 07:49:34.458222"], ["current_sign_in_ip", "127.0.0.1"], ["last_sign_in_at", "2014-10-22 07:49:34.458222"], ["last_sign_in_ip", "127.0.0.1"], ["sign_in_count", 1], ["updated_at", "2014-10-22 07:49:34.459472"]]
(0.9ms) COMMIT
Redirected to http://127.0.0.1:37371/workshops
Completed 302 Found in 25ms (ActiveRecord: 6.0ms)
Started GET "/workshops" for 127.0.0.1 at 2014-10-22 09:49:34 +0200
Processing by WorkshopsController#index as HTML
User Load (0.5ms) SELECT "users".* FROM "users" WHERE "users"."id" = 1 ORDER BY "users"."id" ASC LIMIT 1
Workshop Load (0.6ms) SELECT "workshops".* FROM "workshops" INNER JOIN "users_workshops" ON "workshops"."id" = "users_workshops"."workshop_id" WHERE "users_workshops"."user_id" = $1 ORDER BY created_at DESC [["user_id", 1]]
Rendered workshops/_list.html.erb (2.3ms)
Rendered workshops/index.html.erb within layouts/application (3.2ms)
Rendered shared/_js_variables.html.erb (0.4ms)
Rendered shared/_rollbar.html.erb (0.0ms)
Rendered shared/_phrase.html.erb (0.1ms)
Completed 200 OK in 97ms (Views: 88.4ms | ActiveRecord: 2.5ms)
Started GET "/facilitator/workshops/1/collects/1/edit?edit=users" for 127.0.0.1 at 2014-10-22 09:49:34 +0200
Processing by Facilitator::CollectsController#edit as HTML
Parameters: {"edit"=>"users", "workshop_id"=>"1", "id"=>"1"}
User Load (0.5ms) SELECT "users".* FROM "users" WHERE "users"."id" = 1 ORDER BY "users"."id" ASC LIMIT 1
Workshop Load (0.3ms) SELECT "workshops".* FROM "workshops" WHERE "workshops"."facilitator_id" = $1 AND "workshops"."id" = $2 LIMIT 1 [["facilitator_id", 1], ["id", 1]]
Collect Load (0.4ms) SELECT "collects".* FROM "collects" WHERE "collects"."workshop_id" = $1 AND "collects"."id" = $2 LIMIT 1 [["workshop_id", 1], ["id", 1]]
Rendered facilitator/collects/_collect_breadcrumb.html.erb (0.7ms)
Rendered shared/_sidebar.html.erb (1.9ms)
Rendered facilitator/collects/users.html.erb within layouts/application (5.3ms)
Rendered shared/_js_variables.html.erb (0.4ms)
Rendered shared/_rollbar.html.erb (0.1ms)
Rendered shared/_phrase.html.erb (0.1ms)
Completed 200 OK in 110ms (Views: 101.0ms | ActiveRecord: 2.7ms)
Started GET "/api/users?workshop_id=1" for 127.0.0.1 at 2014-10-22 09:49:34 +0200
Processing by Api::UsersController#index as JSON
Parameters: {"workshop_id"=>"1"}
Workshop Load (1.5ms) SELECT "workshops".* FROM "workshops" WHERE "workshops"."id" = $1 LIMIT 1 [["id", 1]]
User Load (0.4ms) SELECT "users".* FROM "users" INNER JOIN "users_workshops" ON "users"."id" = "users_workshops"."user_id" WHERE "users_workshops"."workshop_id" = $1 [["workshop_id", 1]]
(0.4ms) SELECT "collects".id FROM "collects" INNER JOIN "collects_users" ON "collects"."id" = "collects_users"."collect_id" WHERE "collects_users"."user_id" = $1 [["user_id", 2]]
(0.2ms) SELECT "collects".id FROM "collects" INNER JOIN "collects_users" ON "collects"."id" = "collects_users"."collect_id" WHERE "collects_users"."user_id" = $1 [["user_id", 3]]
(0.2ms) SELECT "collects".id FROM "collects" INNER JOIN "collects_users" ON "collects"."id" = "collects_users"."collect_id" WHERE "collects_users"."user_id" = $1 [["user_id", 4]]
(0.2ms) SELECT "collects".id FROM "collects" INNER JOIN "collects_users" ON "collects"."id" = "collects_users"."collect_id" WHERE "collects_users"."user_id" = $1 [["user_id", 5]]
(0.2ms) SELECT "collects".id FROM "collects" INNER JOIN "collects_users" ON "collects"."id" = "collects_users"."collect_id" WHERE "collects_users"."user_id" = $1 [["user_id", 6]]
Completed 200 OK in 17ms (Views: 0.2ms | ActiveRecord: 3.7ms)
Started GET "/api/ideas?collect_id=1" for 127.0.0.1 at 2014-10-22 09:49:34 +0200
Processing by Api::IdeasController#index as JSON
Parameters: {"collect_id"=>"1"}
User Load (1.2ms) SELECT "users".* FROM "users" WHERE "users"."id" = 1 ORDER BY "users"."id" ASC LIMIT 1
Workshop Load (0.2ms) SELECT "workshops".* FROM "workshops" WHERE "workshops"."facilitator_id" = $1 [["facilitator_id", 1]]
Collect Load (0.1ms) SELECT "collects".* FROM "collects" WHERE "collects"."workshop_id" = $1 [["workshop_id", 1]]
Idea Load (0.3ms) SELECT "ideas".* FROM "ideas" WHERE "ideas"."collect_id" = $1 [["collect_id", 1]]
Completed 200 OK in 14ms (Views: 0.9ms | ActiveRecord: 2.3ms)
Started GET "/api/activities?workshop_id=1" for 127.0.0.1 at 2014-10-22 09:49:34 +0200
Processing by Api::ActivitiesController#index as JSON
Parameters: {"workshop_id"=>"1"}
Workshop Load (0.3ms) SELECT "workshops".* FROM "workshops" WHERE "workshops"."id" = $1 LIMIT 1 [["id", 1]]
Collect Load (0.2ms) SELECT "collects".* FROM "collects" WHERE "collects"."workshop_id" = $1 [["workshop_id", 1]]
Completed 200 OK in 4ms (Views: 0.9ms | ActiveRecord: 0.4ms)
Started GET "/api/users?collect_id=1" for 127.0.0.1 at 2014-10-22 09:49:34 +0200
Processing by Api::UsersController#index as JSON
Parameters: {"collect_id"=>"1"}
Collect Load (0.3ms) SELECT "collects".* FROM "collects" WHERE "collects"."id" = $1 LIMIT 1 [["id", 1]]
User Load (0.4ms) SELECT "users".* FROM "users" INNER JOIN "collects_users" ON "users"."id" = "collects_users"."user_id" WHERE "collects_users"."collect_id" = $1 [["collect_id", 1]]
(0.5ms) SELECT "collects".id FROM "collects" INNER JOIN "collects_users" ON "collects"."id" = "collects_users"."collect_id" WHERE "collects_users"."user_id" = $1 [["user_id", 2]]
(4.0ms) SELECT "collects".id FROM "collects" INNER JOIN "collects_users" ON "collects"."id" = "collects_users"."collect_id" WHERE "collects_users"."user_id" = $1 [["user_id", 3]]
(1.1ms) SELECT "collects".id FROM "collects" INNER JOIN "collects_users" ON "collects"."id" = "collects_users"."collect_id" WHERE "collects_users"."user_id" = $1 [["user_id", 4]]
(0.1ms) SELECT "collects".id FROM "collects" INNER JOIN "collects_users" ON "collects"."id" = "collects_users"."collect_id" WHERE "collects_users"."user_id" = $1 [["user_id", 5]]
(0.2ms) SELECT "collects".id FROM "collects" INNER JOIN "collects_users" ON "collects"."id" = "collects_users"."collect_id" WHERE "collects_users"."user_id" = $1 [["user_id", 6]]
Completed 200 OK in 14ms (Views: 0.1ms | ActiveRecord: 6.5ms)
(17.8ms) BEGIN
User Exists (0.9ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = '[email protected]' LIMIT 1
SQL (0.4ms) INSERT INTO "users" ("created_at", "email", "encrypted_password", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id" [["created_at", "2014-10-22 07:49:35.126251"], ["email", "[email protected]"], ["encrypted_password", "fluidity"], ["updated_at", "2014-10-22 07:49:35.126251"]]
(0.8ms) COMMIT
(0.2ms) BEGIN
SQL (0.4ms) INSERT INTO "users_workshops" ("user_id", "workshop_id") VALUES ($1, $2) RETURNING "id" [["user_id", 7], ["workshop_id", 1]]
(1.2ms) COMMIT
(0.5ms) ALTER TABLE "active_admin_comments" DISABLE TRIGGER ALL;ALTER TABLE "collects" DISABLE TRIGGER ALL;ALTER TABLE "schema_migrations" DISABLE TRIGGER ALL;ALTER TABLE "collects_users" DISABLE TRIGGER ALL;ALTER TABLE "admin_users" DISABLE TRIGGER ALL;ALTER TABLE "ideas_scorings" DISABLE TRIGGER ALL;ALTER TABLE "users" DISABLE TRIGGER ALL;ALTER TABLE "users_workshops" DISABLE TRIGGER ALL;ALTER TABLE "ideas" DISABLE TRIGGER ALL;ALTER TABLE "workshops" DISABLE TRIGGER ALL
(0.9ms) select table_name from information_schema.views where table_schema = 'fluidity_test'
Started POST "/api/users" for 127.0.0.1 at 2014-10-22 09:49:35 +0200
Processing by Api::UsersController#create as JSON
Parameters: {"collect_id"=>1, "email"=>"[email protected]", "password"=>"[FILTERED]", "user"=>{"email"=>"[email protected]"}}
Collect Load (0.5ms) SELECT "collects".* FROM "collects" WHERE "collects"."id" = $1 LIMIT 1 [["id", 1]]
Completed 404 Not Found in 2ms
(42.8ms) TRUNCATE TABLE "active_admin_comments", "collects", "collects_users", "admin_users", "ideas_scorings", "users", "users_workshops", "ideas", "workshops" RESTART IDENTITY CASCADE;
User Load (0.4ms) SELECT "users".* FROM "users" WHERE "users"."id" = 1 ORDER BY "users"."id" ASC LIMIT 1
Reporting exception: Couldn't find Collect with 'id'=1
[Rollbar] Exception not reported because Rollbar is disabled
Reporting exception: Couldn't find Collect with 'id'=1
[Rollbar] Exception not reported because Rollbar is disabled
(0.6ms) ALTER TABLE "active_admin_comments" ENABLE TRIGGER ALL;ALTER TABLE "collects" ENABLE TRIGGER ALL;ALTER TABLE "schema_migrations" ENABLE TRIGGER ALL;ALTER TABLE "collects_users" ENABLE TRIGGER ALL;ALTER TABLE "admin_users" ENABLE TRIGGER ALL;ALTER TABLE "users_workshops" ENABLE TRIGGER ALL;ALTER TABLE "ideas" ENABLE TRIGGER ALL;ALTER TABLE "ideas_scorings" ENABLE TRIGGER ALL;ALTER TABLE "users" ENABLE TRIGGER ALL;ALTER TABLE "workshops" ENABLE TRIGGER ALL
@gabriel-dehan
Copy link
Author

Hello there ! I have a weird issue with rspec and capybara using the javascript drivers. I'm testing some ajax POST calls when clicking on some buttons. Everything is fine when I test my ajaxes GET calls but when I'm POSTing I get a "ActiveRecord::RecordNotFound" when accessing anything from the database in my controllers. It works fine when testing in the browser just the tests failing. I have database cleaner with the truncation str
ategy, I have tried switching the javascript drivers (using poltergeist now) but nothing will do. I have this issue for every POST ajax request but nothing on GET. Does any one have any idea ? Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment