Testing namespaced controller using global model

I have

app/controllers/admin/post_categories_controller.rb
app/models/post_category
app/test/controllers/admin/post_categories_controller_test.rb

When I run

rake test app/test/controllers/admin/post_categories_controller.rb`

I get errors like:

  1. Error:
    PostCategoryTest#test_should_not_save_post_category_without_title:
    ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: relation
    “admin_post_categories” does not exist
    LINE 1: DELETE FROM “admin_post_categories”

Here’s part of my post_categories_controller_test.rb:

require ‘test_helper’

class Admin::PostCategoriesControllerTest < ActionController::TestCase
setup do
@post_category = post_categories(:one)
end

test “should get index” do
get :index
assert_response :success
assert_not_nil assigns(:post_categories)
end

test “should get new” do
get :new
assert_response :success
end

So, basically my problem is that controllers, views and other things are
namespaced (for now there is an “admin” namespace, but I will also add a
“public” namespace later), but I want to use the same models (not
namespaced models) for both the admin and the public area of this
system.

Thanks in advance for any help.

I have found the problem. I had put fixtures in

test/fixtures/admin/…

And that was causing rails tests to think my table was
admin_post_categories. As soon as I moved the fixture files back to

test/fixtures/…

All the tests just started working again.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs