mirror of
https://github.com/nvbn/thefuck.git
synced 2025-10-08 21:04:03 +01:00
#1210: Add rule 'rails_migrations_pending'
* Add rule 'rails_migrations_pending' * Update thefuck/rules/rails_migrations_pending.py Co-authored-by: Pablo Aguiar <scorphus@gmail.com> * Add initial command to corrected command Co-authored-by: Pablo Aguiar <scorphus@gmail.com>
This commit is contained in:
46
tests/rules/test_rails_migrations_pending.py
Normal file
46
tests/rules/test_rails_migrations_pending.py
Normal file
@@ -0,0 +1,46 @@
|
||||
import pytest
|
||||
from thefuck.rules.rails_migrations_pending import match, get_new_command
|
||||
from thefuck.types import Command
|
||||
|
||||
output_env_development = '''
|
||||
Migrations are pending. To resolve this issue, run:
|
||||
|
||||
rails db:migrate RAILS_ENV=development
|
||||
'''
|
||||
output_env_test = '''
|
||||
Migrations are pending. To resolve this issue, run:
|
||||
|
||||
bin/rails db:migrate RAILS_ENV=test
|
||||
'''
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"command",
|
||||
[
|
||||
Command("", output_env_development),
|
||||
Command("", output_env_test),
|
||||
],
|
||||
)
|
||||
def test_match(command):
|
||||
assert match(command)
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"command",
|
||||
[
|
||||
Command("Environment data not found in the schema. To resolve this issue, run: \n\n", ""),
|
||||
],
|
||||
)
|
||||
def test_not_match(command):
|
||||
assert not match(command)
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"command, new_command",
|
||||
[
|
||||
(Command("bin/rspec", output_env_development), "rails db:migrate RAILS_ENV=development && bin/rspec"),
|
||||
(Command("bin/rspec", output_env_test), "bin/rails db:migrate RAILS_ENV=test && bin/rspec"),
|
||||
],
|
||||
)
|
||||
def test_get_new_command(command, new_command):
|
||||
assert get_new_command(command) == new_command
|
Reference in New Issue
Block a user