test/story_test.rb in tracker_api-0.2.10 vs test/story_test.rb in tracker_api-0.2.11

- old
+ new

@@ -65,73 +65,114 @@ story_a.hash.wont_equal story_c.hash story_a.eql?(story_c).must_equal false story_a.equal?(story_c).must_equal false end - describe '.tasks' do - it 'gets all tasks for this story with eager loading' do - VCR.use_cassette('get story with tasks', record: :new_episodes) do - tasks = project.story(story_id, fields: ':default,tasks').tasks + describe '.owners' do + it 'gets all owners for this story with eager loading' do + skip('Until this is resolved: https://pivotaltracker.zendesk.com/requests/35823') - tasks.wont_be_empty - task = tasks.first - task.must_be_instance_of TrackerApi::Resources::Task + story = VCR.use_cassette('get story with owners', record: :new_episodes) do + project.story(story_id, fields: ':default,owners') end + + # this should not raise VCR::Errors::UnhandledHTTPRequestError since + # it should not be making another HTTP request. + owners = story.owners + + owners.wont_be_empty + owner = owners.first + owner.must_be_instance_of TrackerApi::Resources::Person end - it 'gets all tasks for this story' do - VCR.use_cassette('get tasks', record: :new_episodes) do - story = project.story(story_id) - tasks = VCR.use_cassette('get tasks for story') { story.tasks } + it 'gets all owners for this story' do + VCR.use_cassette('get story', record: :new_episodes) do + story = project.story(story_id) + owners = VCR.use_cassette('get owners for story') { story.owners } - tasks.wont_be_empty - task = tasks.first - task.must_be_instance_of TrackerApi::Resources::Task - end + owners.wont_be_empty + owner = owners.first + owner.must_be_instance_of TrackerApi::Resources::Person end + end +end - it 'gets all tasks even when the project_id is excluded from the story fields' do - VCR.use_cassette('get tasks when stories filtered', record: :new_episodes) do - stories = project.stories(with_state: 'unstarted', fields: 'name,story_type') - stories.each do |story| - tasks = story.tasks - unless tasks.empty? - task = tasks.first - task.must_be_instance_of TrackerApi::Resources::Task - end +describe '.tasks' do + it 'gets all tasks for this story with eager loading' do + VCR.use_cassette('get story with tasks', record: :new_episodes) do + tasks = project.story(story_id, fields: ':default,tasks').tasks + + tasks.wont_be_empty + task = tasks.first + task.must_be_instance_of TrackerApi::Resources::Task + end + end + + it 'gets all tasks for this story' do + VCR.use_cassette('get tasks', record: :new_episodes) do + story = project.story(story_id) + tasks = VCR.use_cassette('get tasks for story') { story.tasks } + + tasks.wont_be_empty + task = tasks.first + task.must_be_instance_of TrackerApi::Resources::Task + end + end + + it 'gets all tasks even when the project_id is excluded from the story fields' do + VCR.use_cassette('get tasks when stories filtered', record: :new_episodes) do + stories = project.stories(with_state: 'unstarted', fields: 'name,story_type') + stories.each do |story| + tasks = story.tasks + unless tasks.empty? + task = tasks.first + task.must_be_instance_of TrackerApi::Resources::Task end end end + end - it 'can create task' do - VCR.use_cassette('create task') do - task = project.story(story_id).create_task(description: 'Test task') + it 'can create task' do + VCR.use_cassette('create task') do + task = project.story(story_id).create_task(description: 'Test task') - task.must_be_instance_of TrackerApi::Resources::Task - task.id.wont_be_nil - task.id.must_be :>, 0 - task.description.must_equal 'Test task' - end + task.must_be_instance_of TrackerApi::Resources::Task + task.id.wont_be_nil + task.id.must_be :>, 0 + task.description.must_equal 'Test task' end end +end - describe '.activity' do - before do - # create some activity - story.name = "#{story.name}+" +describe '.activity' do + before do + # create some activity + story.name = "#{story.name}+" - VCR.use_cassette('update story to create activity', record: :new_episodes) do - story.save - end + VCR.use_cassette('update story to create activity', record: :new_episodes) do + story.save end + end - it 'gets all the activity for this story' do - VCR.use_cassette('get story activity', record: :new_episodes) do - activity = story.activity + it 'gets all the activity for this story' do + VCR.use_cassette('get story activity', record: :new_episodes) do + activity = story.activity - activity.wont_be_empty - event = activity.first - event.must_be_instance_of TrackerApi::Resources::Activity - end + activity.wont_be_empty + event = activity.first + event.must_be_instance_of TrackerApi::Resources::Activity end end +end + +describe '.owners' do + it 'gets all owners of this story' do + VCR.use_cassette('get story owners', record: :new_episodes) do + owners = story.owners + + owners.wont_be_empty + owner = owners.first + owner.must_be_instance_of TrackerApi::Resources::Person + end + end +end end