diaspora/spec/models/service_spec.rb
Benjamin Neff fc6893d4fc
Remove facebook integration
Facebook removed the API and facebook integration is broken now, so lets
remove it.

closes #7874
2018-10-08 02:50:25 +02:00

59 lines
1.8 KiB
Ruby

# frozen_string_literal: true
describe Service, type: :model do
before do
@post = alice.post(:status_message, text: "hello", to: alice.aspects.first.id)
@service = Services::Twitter.new(access_token: "yeah", uid: 1)
alice.services << @service
end
it "is unique to a user by service type and uid" do
@service.save
second_service = Services::Twitter.new(access_token: "yeah", uid: 1)
alice.services << second_service
alice.services.last.save
expect(alice.services.last).to be_invalid
end
it "by default has no profile photo url" do
expect(described_class.new.profile_photo_url).to be_nil
end
describe ".titles" do
it "converts passed service titles into service constants" do
expect(described_class.titles(["twitter"])).to eql ["Services::Twitter"]
end
end
describe ".first_from_omniauth" do
let(:omniauth) { {"provider" => "twitter", "uid" => "1", "credentials" => {}, "info" => {}} }
it "first service by provider and uid" do
expect(described_class.first_from_omniauth(omniauth)).to eql @service
end
end
describe ".initialize_from_omniauth" do
let(:omniauth) do
{
"provider" => "twitter",
"uid" => "2",
"info" => {"nickname" => "grimmin"},
"credentials" => {"token" => "token", "secret" => "not_so_much"}
}
end
let(:subject) { described_class.initialize_from_omniauth(omniauth) }
it "new service obj of type Services::Twitter" do
expect(subject.type).to eql "Services::Twitter"
end
it "new service obj with oauth options populated" do
expect(subject.uid).to eql "2"
expect(subject.nickname).to eql "grimmin"
expect(subject.access_token).to eql "token"
expect(subject.access_secret).to eql "not_so_much"
end
end
end