Migrate installer test to Cucumber.

This commit is contained in:
Raphael Reitzig 2020-05-26 05:07:24 +02:00
parent 42aff3b4c5
commit 7e97c4c1c1
4 changed files with 34 additions and 7 deletions

View file

@ -0,0 +1,11 @@
Feature: Install SDKMAN! if necessary
Scenario:
Given SDKMAN! is not installed
When sdk is called and user answers "n"
Then SDKMAN! is absent
Scenario:
Given SDKMAN! is not installed
When sdk is called and user answers "y"
Then SDKMAN! is present

View file

@ -0,0 +1,23 @@
# frozen_string_literal: true
require 'fileutils'
Given(/^SDKMAN! is not installed$/) do
FileUtils.rm_rf("#{ENV['HOME']}/.sdkman")
end
When('sdk is called and user answers {string}') do |answer|
run_fish_command("echo '#{answer}' | sdk version")
end
Then(/^SDKMAN! is absent$/) do
expect(Dir["#{ENV['HOME']}/.sdkman/*"].count).to eq(0)
response = run_bash_command("sdk version")
expect(response[:status]).to_not eq(0)
end
Then('SDKMAN! is present') do
expect(Dir["#{ENV['HOME']}/.sdkman/*"].count).to be > 1
response = run_bash_command("sdk version")
expect(response[:status]).to eq(0)
end

View file

@ -1,5 +0,0 @@
#!/usr/bin/env bash
rm -rf "${HOME}/.sdkman" \
&& sed -i'.bak' -E -e 's/^.*(sdkman|SDKMAN).*$//g' "${HOME}/.bashrc" \
&& echo 'SDKMAN! uninstalled'