mirror of
https://github.com/mas-cli/mas
synced 2024-11-25 13:00:23 +00:00
490ee2d338
Partial #592 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
62 lines
1.9 KiB
Swift
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)"
|
|
}
|
|
}
|
|
}
|
|
}
|