You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

project_initializer_spec.rb 2.6 kB

2 years ago
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. # frozen_string_literal: true
  2. require 'spec_helper'
  3. require 'tmpdir'
  4. module Cucumber
  5. describe ProjectInitializer, isolated_home: true do
  6. let(:command_line_config) { ProjectInitializer.new }
  7. before do
  8. allow(command_line_config).to receive(:puts)
  9. end
  10. context 'no files created' do
  11. around(:example) do |example|
  12. dir = Dir.mktmpdir
  13. original_dir = Dir.pwd
  14. begin
  15. FileUtils.cd dir
  16. example.call
  17. ensure
  18. FileUtils.cd original_dir
  19. FileUtils.rm_rf dir
  20. end
  21. end
  22. it 'should create features directory' do
  23. expect(command_line_config).to receive(:puts).with(/^\s+create\s+features$/)
  24. command_line_config.run
  25. end
  26. it 'should create step_definitions directory' do
  27. expect(command_line_config).to receive(:puts).with(/^\s+create\s+features\/step_definitions$/)
  28. command_line_config.run
  29. end
  30. it 'should create support directory' do
  31. expect(command_line_config).to receive(:puts).with(/^\s+create\s+features\/support$/)
  32. command_line_config.run
  33. end
  34. it 'should create env.rb directory' do
  35. expect(command_line_config).to receive(:puts).with(/^\s+create\s+features\/support\/env.rb$/)
  36. command_line_config.run
  37. end
  38. end
  39. context 'files created' do
  40. around(:example) do |example|
  41. dir = Dir.mktmpdir
  42. FileUtils.mkdir_p "#{dir}/features"
  43. FileUtils.mkdir_p "#{dir}/features/step_definitions"
  44. FileUtils.mkdir_p "#{dir}/features/support"
  45. FileUtils.touch "#{dir}/features/support/env.rb"
  46. original_dir = Dir.pwd
  47. begin
  48. FileUtils.cd dir
  49. example.call
  50. ensure
  51. FileUtils.cd original_dir
  52. FileUtils.rm_rf dir
  53. end
  54. end
  55. it 'should not create features directory' do
  56. expect(command_line_config).to receive(:puts).with(/^\s+exist\s+features$/)
  57. command_line_config.run
  58. end
  59. it 'should not create step_definitions directory' do
  60. expect(command_line_config).to receive(:puts).with(/^\s+exist\s+features\/step_definitions$/)
  61. command_line_config.run
  62. end
  63. it 'should not create support directory' do
  64. expect(command_line_config).to receive(:puts).with(/^\s+exist\s+features\/support$/)
  65. command_line_config.run
  66. end
  67. it 'should not create env.rb directory' do
  68. expect(command_line_config).to receive(:puts).with(/^\s+exist\s+features\/support\/env.rb$/)
  69. command_line_config.run
  70. end
  71. end
  72. end
  73. end

No Description

Contributors (1)