Remove Installer tests

This commit is contained in:
Pedro Piñera 2018-07-24 18:19:11 -04:00
parent d5b964079a
commit 3f5b12df55
1 changed files with 4 additions and 49 deletions

View File

@ -7,72 +7,27 @@ import Utility
import XCTest
final class InstallerTests: XCTestCase {
var shell: MockShell!
var printer: MockPrinter!
var fileHandler: FileHandler!
var buildCopier: MockBuildCopier!
var versionsController: MockVersionsController!
var subject: Installer!
var tmpDir: TemporaryDirectory!
var system: MockSystem!
override func setUp() {
super.setUp()
shell = MockShell()
system = MockSystem()
printer = MockPrinter()
fileHandler = FileHandler()
buildCopier = MockBuildCopier()
versionsController = try! MockVersionsController()
tmpDir = try! TemporaryDirectory(removeTreeOnDeinit: true)
subject = Installer(shell: shell,
subject = Installer(system: system,
printer: printer,
fileHandler: fileHandler,
buildCopier: buildCopier,
versionsController: versionsController)
}
func test_install_runs_the_right_commands() throws {
try subject.install(version: "3.2.1", temporaryDirectory: tmpDir)
XCTAssertEqual(shell.runAndOutputArgs.count, 3)
// Clone
let cloneCommand = shell.runAndOutputArgs[0]
XCTAssertEqual(cloneCommand, [
"git", "clone", Constants.gitRepositorySSH,
tmpDir.path.asString,
])
// Checkout
let checkoutCommand = shell.runAndOutputArgs[1]
XCTAssertEqual(checkoutCommand, [
"git",
"--git-dir", tmpDir.path.appending(component: ".git").asString,
"checkout", "-b", "build", "3.2.1",
])
// Build
let buildCommand = shell.runAndOutputArgs[2]
XCTAssertEqual(buildCommand, [
"swift", "build",
"--package-path", tmpDir.path.asString,
"--configuration", "release",
])
}
func test_install_creates_a_version_file() throws {
try subject.install(version: "3.2.1", temporaryDirectory: tmpDir)
let versionFilePath = versionsController.path
.appending(component: "3.2.1")
.appending(component: Constants.versionFileName)
XCTAssertEqual(try String(contentsOf: versionFilePath.url), "3.2.1")
}
func test_install_prints() throws {
try subject.install(version: "3.2.1", temporaryDirectory: tmpDir)
XCTAssertEqual(printer.printArgs.count, 2)
XCTAssertEqual(printer.printArgs.first, "Installing 3.2.1.")
XCTAssertEqual(printer.printArgs.last, "Version 3.2.1 installed.")
}
}