mas/Tests/masTests/Formatters/AppListFormatterSpec.swift
Ross Goldberg d413d8cfa1
Move MasKit module to mas.
Move MasKitTests module to masTests.

Rename MasKit enum as Mas.

Upgrade swift-tools-version from 5.3 to 5.6.1.

swift-tools-version 5.5+ is necessary to allow test code to import executable target code,
to allow MasKit library code to be moved into the mas executable.

Upgrade to swift-tools-version to 5.6.1 instead of to 5.5 because they support all the same macOS versions.

Standardize comments.

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-14 03:44:03 -04:00

64 lines
2 KiB
Swift

//
// AppListFormatterSpec.swift
// masTests
//
// Created by Ben Chatelain on 8/23/2020.
// Copyright © 2020 mas-cli. All rights reserved.
//
import Nimble
import Quick
@testable import mas
public class AppListsFormatterSpec: QuickSpec {
override public func spec() {
// static func reference
let format = AppListFormatter.format(products:)
var products: [SoftwareProduct] = []
beforeSuite {
Mas.initialize()
}
describe("app list formatter") {
beforeEach {
products = []
}
it("formats nothing as empty string") {
let output = format(products)
expect(output) == ""
}
it("can format a single product") {
let product = SoftwareProductMock(
appName: "Awesome App",
bundleIdentifier: "",
bundlePath: "",
bundleVersion: "19.2.1",
itemIdentifier: 12345
)
let output = format([product])
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)"
}
}
}
}