Topic: Basic integration testing question

I'm new to testing and am having trouble testing a controller method that creates a row in a table. The method create_barnumber creates a new barnumber object and saves it:

class AttorneysController < ApplicationController

  def create_barnumber
    @attorney = Attorney.find(params[:id])
    barnumber = Barnumber.new(params[:barnumber]) #creates a new claimant name
    barnumber.attorney_id = @attorney.id #sets the new claimant_name's claimant_id to the id of the requested claimant
    if barnumber.save
      @new_bar = barnumber
      return if request.xhr?
      render :partial => 'bar_numbers'
    end
  end


The following integration test logs into the system, accesses the attorneys controller 'show' page, then creates a new barnumber:
require "#{File.dirname(__FILE__)}/../test_helper"

class UserStoriesTest < ActionController::IntegrationTest
 
  fixtures :users, :firms, :attorneys
 
  def test_attorneys_show_page
    post 'login/login', :name => 'user', :password => 'secret'
    get 'attorneys/show', :id => 1
    assert_template 'show'
    xml_http_request '/attorneys/create_barnumber', :id => 1, :barnumber => { :state_id => 38, :number => '5555' }
  end
end


The test executes without and errors or failures, but there is no new row created in the test database. What might be prohibiting this?