Skip to content

Commit

Permalink
added test coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
adnanhemani committed Aug 2, 2018
1 parent 892c56a commit a7ad20f
Show file tree
Hide file tree
Showing 5 changed files with 80 additions and 5 deletions.
2 changes: 1 addition & 1 deletion .rspec
Original file line number Diff line number Diff line change
@@ -1 +1 @@
--color
--require spec_helper
2 changes: 1 addition & 1 deletion app/models/project.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
class Project < ActiveRecord::Base
def self.get_hangout_join_icon(project)
event_id = Project.where(pivotal_id: project.id.to_s).first.event_id
result = $service.get_event("berkeley.edu_9f5b4e17egep4l9e0birqr8pu4@group.calendar.google.com", event_id)
result = $service.get_event($calendar_id, event_id)
return [result.conference_data.conference_solution.icon_uri, result.hangout_link]
end

Expand Down
Binary file modified db/test
Binary file not shown.
55 changes: 55 additions & 0 deletions spec/features/dashboard/hangouts_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
require 'spec_helper'

describe 'Dashboard::Projects', type: :feature do
before { skip_auth_feature(DashboardController) }
context 'no hangout' do
let(:projects) { (1..5).map { |i| init_object(project_params) }}
let(:project) { projects.first }
before do
Project.delete_all
stub_projects(projects)
stub_stories(project)
visit root_path
end

specify { expect(page).to have_link "Click here to create Google Hangouts meeting.", href: makehangout_path(:project_id => project.id) }
end

context "hangout being made" do
let(:projects) { (1..5).map { |i| init_object(project_params) }}
let(:project) { projects.first }
before do
Project.delete_all
p = Project.new({pivotal_id: project.id, event_id: "LOCKED"})
p.save!
stub_projects(projects)
stub_stories(project)
visit root_path
end

specify { expect(page).to have_text "Creating Google Hangouts session. Please wait and then refresh your page later." }
end

context "hangouts already made" do
let(:projects) { (1..5).map { |i| init_object(project_params) }}
let(:project) { projects.first }
before do
Project.delete_all
p = Project.new({pivotal_id: project.id, event_id: "12345"})
p.save!
$service = mock("$service")
obj = OpenStruct.new
obj.hangout_link = "abcd.com"
obj.conference_data = OpenStruct.new
obj.conference_data.conference_solution = OpenStruct.new
obj.conference_data.conference_solution.icon_uri = "efgh.com"
$service.stubs(:get_event).returns(obj)
stub_projects(projects)
stub_stories(project)
visit root_path
end

specify { expect(page).to have_link nil, href: "abcd.com" }

end
end
26 changes: 23 additions & 3 deletions spec/models/project_spec.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,25 @@
require 'rails_helper'
require 'spec_helper'

RSpec.describe Project, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
describe Project, type: :model do
before do
Project.delete_all
$service = mock("$service")
$service.stubs(:insert_event).returns({:id => "abcd"})
end
let(:project_id) { "some_id" }
context "#create_hangout" do
it "runs event create process on a new thread" do
Thread.expects(:new)
Project.create_hangout(:project_id)
end
it "locks before calling API" do
Project.any_instance.expects(:event_id=).with("LOCKED")
Project.create_hangout(:project_id)
end
it "creates new project with event" do
Project.create_hangout(project_id)
assert_equal Project.all.count, 1
assert_equal Project.all.first.pivotal_id, project_id
end
end
end

0 comments on commit a7ad20f

Please sign in to comment.