Size: a a a

2020 August 16

AA

Abdulla Achilov in Ruby Talks
но наверное все равно улчше райзнуть ж, да?
источник

AA

Abdulla Achilov in Ruby Talks
describe 'valid simple query' do
 let!(:user){create :user, role: :user, email: 'im@gmail.com'}

 subject do
   str = "id eq '1'"
   filter = FilterParser::FilterGenerator.new(str).generate_filter
   query = filter.apply_filter User
   query
 end

 it 'should have one user' do
   expect(subject.size).to eq 1
 end

 it 'should have email of user' do
   expect(subject.first.email).to eq user.email
 end
end

describe 'valid composite query' do
 let!(:user){create :user, role: :user, email: 'im@gmail.com'}
 let!(:another_user){create :user, role: :user, email: 'jo@gmail.com'}

 subject do
   str = "(id ne '99') and (email eq 'jo@gmail.com')"
   filter = FilterParser::FilterGenerator.new(str).generate_filter
   query = filter.apply_filter User
   query
 end

 it 'should have email of another_user' do
   expect(subject.first.email).to eq another_user.email
 end
end

describe 'valid composite query 2' do
 let!(:user){create :user, id: 97}
 let!(:second_user){create :user, id: 98}
 let!(:third_user){create :user, id: 99}

 subject do
   str = "id eq '97' or id eq '98' and id lt '50' or id gt '20' and id ne '99'"
   filter = FilterParser::FilterGenerator.new(str).generate_filter
   query = filter.apply_filter User
   query
 end

 it 'should have email of another_user' do
   expect(subject.first.id).to eq user.id
 end
end

describe 'invalid query_string' do

 it 'should raise error ' do
   query_string = "(id eq '1)"
   expect{
     FilterParser::FilterGenerator.new(query_string).generate_filter
   }.to raise_error(Parslet::ParseFailed)
 end

 it 'should raise error ' do
   query_string = "(id eq 1)"
   expect{
     FilterParser::FilterGenerator.new(query_string).generate_filter
   }.to raise_error(Parslet::ParseFailed)
 end

 it 'should raise error ' do
   query_string = "id gg '1'"
   expect{
     FilterParser::FilterGenerator.new(query_string).generate_filter
   }.to raise_error(Parslet::ParseFailed)
 end

 it 'should raise error ' do
   query_string = "(id eq '1') or and eq 55"
   expect{
     FilterParser::FilterGenerator.new(query_string).generate_filter
   }.to raise_error(Parslet::ParseFailed)
 end

 it 'should raise error ' do
   query_string = "(id! eq '1)"
   expect{
     FilterParser::FilterGenerator.new(query_string).generate_filter
   }.to raise_error(Parslet::ParseFailed)
 end

 it 'should raise error ' do
   query_string = "(id eq '1'"
   expect{
     FilterParser::FilterGenerator.new(query_string).generate_filter
   }.to raise_error(Parslet::ParseFailed)
 end

 it 'should raise error ' do
   query_string = "(id eq '1' or) ne '2'"
   expect{
     FilterParser::FilterGenerator.new(query_string).generate_filter
   }.to raise_error(Parslet::ParseFailed)
 end



end

describe 'valid query_string, but invaid expression' do

 subject do
   query_string = "non_existing_field_name eq '5'"
   filter = FilterParser::FilterGenerator.new(query_string).generate_filter
   query = filter.apply_filter User
   query.first
 end

 it 'should raise error ' do
   expect{ subject }.to raise_exception(ActiveRecord::StatementInvalid)
 end

end
источник

AA

Abdulla Achilov in Ruby Talks
Пишу я тесты к круду и кажется, что глупо
источник

AA

Abdulla Achilov in Ruby Talks
Никто не хочет чекнуть сли тесты и сказать, в чем я ошибаюсь в структуре тестов плз?)
источник

МВ

Максим Вейсгейм... in Ruby Talks
Я вообще не понял вопрос
источник
2020 August 17

AA

Abdulla Achilov in Ruby Talks
хэй
источник

AA

Abdulla Achilov in Ruby Talks
я имел в виду, кто хочет посмотреть код моих тестов и покритиковать?)
источник

AA

Abdulla Achilov in Ruby Talks
ибо у меня уже 74 теста на это тз
источник

AA

Abdulla Achilov in Ruby Talks
и мне кажется я хуйню пишу(
источник

AA

Abdulla Achilov in Ruby Talks
тип того
источник

AA

Abdulla Achilov in Ruby Talks
context 'admin can delete any user' do
 before do
   sign_in admin
   user.entries << FactoryBot.build(:entry)
   delete :destroy, params: { id: user.id }
 end

 subject { JSON.parse(response.body)['data'] }

 it 'should return HTTP status OK (200)' do
   expect(response).to have_http_status(:success)
 end

 it 'should have id in response' do
   expect(subject['id'].present?).to eq true
 end

 it 'should remove record in db' do
   expect{ User.find(subject['id']) }.to raise_error(ActiveRecord::RecordNotFound)
 end

 it 'should remove user entries in db' do
   expect{ Entry.find_by_user_id!(subject['id']) }.to raise_error(ActiveRecord::RecordNotFound)
 end
end
источник

AA

Abdulla Achilov in Ruby Talks
тестирую по факту то, что has_many dependent delete_all работает правильно
источник

AA

Abdulla Achilov in Ruby Talks
хд
источник

AA

Abdulla Achilov in Ruby Talks
я крч доделал всё
источник

AA

Abdulla Achilov in Ruby Talks
оч жажду критики
источник

AA

Abdulla Achilov in Ruby Talks
кто хочет - пингу - добавлю в репу
источник
2020 August 19

МР

Михаил Рогов... in Ruby Talks
у кого есть время)
источник
2020 August 21

ES

Eugene Shved in Ruby Talks
источник

ES

Eugene Shved in Ruby Talks
Igor Yamolov
Тебе надо в SQL странслировать или что?
у вас много где хранимки используются?
источник

IY

Igor Yamolov in Ruby Talks
Eugene Shved
у вас много где хранимки используются?
Нигде
источник