Я новичок в модульном тестировании и Rails в целом. Я решил строить свои проекты в среде TDD, но у меня остались некоторые первые вопросы.
Мне нужна помощь в построении моделей, чтобы пройти этот тест:
describe User do
it "should add user to team" do
team = Team.create(:name => "Tigers")
akash = User.create(:name => "Akash")
akash.teams << team
akash.memberships.size.should == 1
end
it "should allow buddyup"
john = User.create(:name => "John")
john.buddyup_with(akash)
john.memberships.size.should == 1
end
it "should validate linked buddys"
akash.buddys.should include(john)
end
end
По сути, ВСЕ, что я хочу сейчас сделать, - это пройти тесты. Вот что у меня так далеко:
class Team < ActiveRecord::Base
has_and_belongs_to_many :users
attr_accessubke :name
validates :name, :presence = true
:uniqueness => true
end
class User < ActiveRecord::Base
has_and_belongs_to_many: :teams
attr_accessible :name
validates :name, :presence = true
:uniqueness => true
end
class CreateUsers < ActiveRecord::Migration
def self.up
create_table :users do |t|
t.string :name
t.timestamps
end
end
def self.down
drop_table :users
end
end
class CreateTeams < ActiveRecord::Migration
def self.up
create_table :teams do |t|
t.string :name
t.timestamps
end
end
def self.down
drop_table :teams
end
end
class CreateTeamsUsersJoinTable < ActiveRecord::Migration
def self.up
create_table :teams_users, :id => false do |t|
t.integer :team_id
t.integer :user_id
end
end
def self.down
drop_table :teams_users
end
end
Это все, что у меня есть до сих пор, и, очевидно, это далеко не завершено. Не могли бы вы дать некоторое представление и, возможно, код, который я должен использовать для этого? Моя самая большая проблема сейчас - это buddyup_with часть. Добавление друга добавит человека в каждую команду, членом которой вы являетесь, представьте, что команды - это часть компании-разработчика, а друзья - ученики или что-то в этом роде.