You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
2.2 KiB
71 lines
2.2 KiB
// Copyright © 2015 Abhishek Banthia |
|
|
|
import XCTest |
|
|
|
class NetworkDisconnectionTests: XCTestCase { |
|
var app: XCUIApplication! |
|
|
|
override func setUp() { |
|
super.setUp() |
|
continueAfterFailure = false |
|
app = XCUIApplication() |
|
} |
|
|
|
func precondition() { |
|
app.launch() |
|
|
|
if !app.tables["FloatingTableView"].exists { |
|
app.tapMenubarIcon() |
|
app.buttons["Pin"].click() |
|
} |
|
} |
|
|
|
func testAddingACity() { |
|
app.launchArguments.append("mockNetworkDown") |
|
precondition() |
|
app.buttons["FloatingPreferences"].click() |
|
|
|
if app.sheets.count == 0 { |
|
app.windows["Clocker"].checkBoxes["AddTimezone"].click() |
|
} |
|
|
|
XCTAssertFalse(app.sheets.staticTexts["ErrorPlaceholder"].exists) |
|
|
|
let searchField = app.searchFields["AvailableSearchField"] |
|
searchField.reset(text: "Uganda") |
|
sleep(1) |
|
XCTAssertTrue(app.sheets.staticTexts["ErrorPlaceholder"].exists) |
|
|
|
app.sheets.buttons["Close Button Title".localizedString()].click() |
|
} |
|
|
|
func testFetchingATimezone() { |
|
app.launchArguments.append("mockTimezoneDown") |
|
precondition() |
|
app.buttons["FloatingPreferences"].click() |
|
|
|
if app.sheets.count == 0 { |
|
app.windows["Clocker"].checkBoxes["AddTimezone"].click() |
|
} |
|
|
|
XCTAssertFalse(app.sheets.staticTexts["ErrorPlaceholder"].exists) |
|
|
|
let searchField = app.searchFields["AvailableSearchField"] |
|
searchField.reset(text: "Uganda") |
|
|
|
let firstResult = app.tables["AvailableTimezoneTableView"].tableRows.firstMatch |
|
|
|
let waiter = XCTWaiter() |
|
let isHittable = NSPredicate(format: "exists == true", "") |
|
let addExpectation = expectation(for: isHittable, |
|
evaluatedWith: firstResult, |
|
handler: nil) |
|
waiter.wait(for: [addExpectation], timeout: 5) |
|
app.tables["AvailableTimezoneTableView"].click() |
|
app.buttons["AddAvailableTimezone"].click() |
|
|
|
sleep(1) |
|
XCTAssertTrue(app.sheets.staticTexts["ErrorPlaceholder"].exists) |
|
app.sheets.buttons["Close Button Title".localizedString()].click() |
|
} |
|
}
|
|
|