mas/MasKitTests/Formatters/AppListFormatterSpec.swift
2020-08-23 14:06:09 -06:00

61 lines
2 KiB
Swift

//
// AppListFormatterSpec.swift
// MasKitTests
//
// Created by Ben Chatelain on 8/23/2020.
// Copyright © 2020 mas-cli. All rights reserved.
//
@testable import MasKit
import Nimble
import Quick
class AppListsFormatterSpec: QuickSpec {
override func spec() {
// static func reference
let format = AppListFormatter.format(products:)
var products: [SoftwareProduct] = []
describe("app list formatter") {
beforeEach {
products = []
}
it("formats nothing as empty string") {
let output = format(products)
expect(output) == ""
}
it("can format a single product") {
products = [SoftwareProductMock(
appName: "Awesome App",
bundleIdentifier: "",
bundlePath: "",
bundleVersion: "19.2.1",
itemIdentifier: 12345
)]
let output = format(products)
expect(output) == "12345 Awesome App (19.2.1)"
}
it("can format two products") {
products = [
SoftwareProductMock(
appName: "Awesome App",
bundleIdentifier: "",
bundlePath: "",
bundleVersion: "19.2.1",
itemIdentifier: 12345
),
SoftwareProductMock(
appName: "Even Better App",
bundleIdentifier: "",
bundlePath: "",
bundleVersion: "1.2.0",
itemIdentifier: 67890
)
]
let output = format(products)
expect(output) ==
"12345 Awesome App (19.2.1)\n67890 Even Better App (1.2.0)"
}
}
}
}