mas/Tests/masTests/Formatters/AppListFormatterSpec.swift
Ross Goldberg 490ee2d338
Fix class names.
Partial #592

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-23 06:18:33 -04:00

62 lines
1.9 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 AppListFormatterSpec: 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") {
expect(format(products)).to(beEmpty())
}
it("can format a single product") {
let product = SoftwareProductMock(
appName: "Awesome App",
bundleIdentifier: "",
bundlePath: "",
bundleVersion: "19.2.1",
itemIdentifier: 12345
)
expect(format([product])) == "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
),
]
expect(format(products))
== "12345 Awesome App (19.2.1)\n67890 Even Better App (1.2.0)"
}
}
}
}