2018-12-28 22:23:22 +00:00
|
|
|
//
|
2024-10-01 22:55:04 +00:00
|
|
|
// OutdatedSpec.swift
|
2024-10-01 18:05:41 +00:00
|
|
|
// masTests
|
2018-12-28 22:23:22 +00:00
|
|
|
//
|
|
|
|
// Created by Ben Chatelain on 2018-12-28.
|
|
|
|
// Copyright © 2018 mas-cli. All rights reserved.
|
|
|
|
//
|
|
|
|
|
2024-10-02 13:49:30 +00:00
|
|
|
import Foundation
|
2018-12-28 22:23:22 +00:00
|
|
|
import Nimble
|
2019-01-30 06:15:24 +00:00
|
|
|
import Quick
|
2018-12-28 22:23:22 +00:00
|
|
|
|
2024-10-01 18:05:41 +00:00
|
|
|
@testable import mas
|
2021-03-22 05:25:18 +00:00
|
|
|
|
2024-10-01 22:55:04 +00:00
|
|
|
public class OutdatedSpec: QuickSpec {
|
2024-10-18 14:28:44 +00:00
|
|
|
override public func spec() {
|
2021-04-23 07:01:18 +00:00
|
|
|
beforeSuite {
|
2024-10-01 18:05:41 +00:00
|
|
|
Mas.initialize()
|
2021-04-23 07:01:18 +00:00
|
|
|
}
|
2018-12-28 22:23:22 +00:00
|
|
|
describe("outdated command") {
|
|
|
|
it("displays apps with pending updates") {
|
2024-10-02 13:49:30 +00:00
|
|
|
let mockSearchResult =
|
|
|
|
SearchResult(
|
|
|
|
bundleId: "au.id.haroldchu.mac.Bandwidth",
|
|
|
|
currentVersionReleaseDate: "2024-09-02T00:27:00Z",
|
|
|
|
fileSizeBytes: "998130",
|
|
|
|
minimumOsVersion: "10.13",
|
|
|
|
price: 0,
|
|
|
|
sellerName: "Harold Chu",
|
|
|
|
sellerUrl: "https://example.com",
|
|
|
|
trackId: 490_461_369,
|
|
|
|
trackName: "Bandwidth+",
|
|
|
|
trackViewUrl: "https://apps.apple.com/us/app/bandwidth/id490461369?mt=12&uo=4",
|
|
|
|
version: "1.28"
|
|
|
|
)
|
|
|
|
let mockStoreSearch = StoreSearchMock()
|
|
|
|
mockStoreSearch.apps[mockSearchResult.trackId] = mockSearchResult
|
|
|
|
|
|
|
|
let mockAppLibrary = AppLibraryMock()
|
|
|
|
mockAppLibrary.installedApps.append(
|
|
|
|
SoftwareProductMock(
|
|
|
|
appName: mockSearchResult.trackName,
|
|
|
|
bundleIdentifier: mockSearchResult.bundleId,
|
|
|
|
bundlePath: "/Applications/Bandwidth+.app",
|
|
|
|
bundleVersion: "1.27",
|
|
|
|
itemIdentifier: NSNumber(value: mockSearchResult.trackId)
|
|
|
|
)
|
|
|
|
)
|
2024-10-01 22:55:04 +00:00
|
|
|
expect {
|
2024-10-02 13:49:30 +00:00
|
|
|
try captureStream(stdout) {
|
|
|
|
try Mas.Outdated.parse([]).run(appLibrary: mockAppLibrary, storeSearch: mockStoreSearch)
|
|
|
|
}
|
2024-10-01 22:55:04 +00:00
|
|
|
}
|
2024-10-02 13:49:30 +00:00
|
|
|
== "490461369 Bandwidth+ (1.27 -> 1.28)\n"
|
2018-12-28 22:23:22 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|