Files
timeoverflow/spec/models/organization_spec.rb
2023-12-08 16:55:21 +01:00

74 lines
2.0 KiB
Ruby

RSpec.describe Organization do
let(:organization) { Fabricate(:organization) }
describe "logo validation" do
it "validates content_type" do
temp_file = Tempfile.new('test.txt')
organization.logo.attach(io: File.open(temp_file.path), filename: 'test.txt')
expect(organization).to be_invalid
temp_file = Tempfile.new('test.svg')
organization.logo.attach(io: File.open(temp_file.path), filename: 'test.svg')
expect(organization).to be_invalid
temp_file = Tempfile.new('test.png')
organization.logo.attach(io: File.open(temp_file.path), filename: 'test.png')
expect(organization).to be_valid
end
end
describe '#display_id' do
subject { organization.display_id }
it { is_expected.to eq(organization.account.accountable_id) }
end
describe 'ensure_url validation' do
it "without http & https" do
organization.web = "www.casa.com"
expect(organization).to be_valid
expect(organization.web).to eq "http://www.casa.com"
end
it "with http" do
organization.web = "http://www.casa.com"
expect(organization).to be_valid
expect(organization.web).to eq "http://www.casa.com"
end
it "with https" do
organization.web = "https://www.casa.com"
expect(organization).to be_valid
expect(organization.web).to eq "https://www.casa.com"
end
it "with blank value" do
organization.web = ""
expect(organization).to be_valid
expect(organization.web).to eq ""
end
it "with nil value" do
organization.web = nil
expect(organization).to be_valid
expect(organization.web).to eq nil
end
it "with an invalid" do
organization.web = "la casa"
expect(organization).not_to be_valid
expect(organization.web).to eq "la casa"
expect(organization.errors.size).to eq 1
end
end
it 'name is mandatory' do
organization.name = nil
organization.save
expect(organization.errors[:name]).to include(I18n.t('errors.messages.blank'))
end
end