Tusker/TuskerUITests/ComposeTests.swift

95 lines
3.3 KiB
Swift
Raw Permalink Normal View History

2020-09-13 17:19:56 +00:00
//
// ComposeTests.swift
// TuskerUITests
//
// Created by Shadowfacts on 9/12/20.
// Copyright © 2020 Shadowfacts. All rights reserved.
//
import XCTest
import Pachyderm
class ComposeTests: TuskerUITests {
override func setUp() {
super.setUp()
2022-10-08 01:12:20 +00:00
// router.allRoutes()
2020-09-13 17:19:56 +00:00
app.launchEnvironment["UI_TESTING_LOGIN"] = "true"
app.launch()
app.tabBars.buttons["Compose"].tap()
}
func testCurrentAccount() {
XCTAssertTrue(app.images["Admin Account avatar"].exists, "avatar image exists")
XCTAssertTrue(app.staticTexts["Admin Account"].exists, "display name label exists")
XCTAssertTrue(app.staticTexts["@admin"].exists, "acct label exists")
}
func testBodyPlaceholder() {
XCTAssertTrue(app.staticTexts["What's on your mind?"].exists, "placeholder exists")
app.textViews.firstMatch.typeText("Blah")
XCTAssertFalse(app.staticTexts["What's on your mind?"].exists, "placeholder does not exist")
}
// func testCharacterCounter() {
// XCTAssertTrue(app.staticTexts["500 characters remaining"].exists, "initial character count is 500")
// let textView = app.textViews.firstMatch
//
// let fragments = [
// "Hello",
// "World",
// "@admin",
// "@admin@example.com",
// "https://foo.example.com/?bar=baz#qux",
// ]
//
// var remaining = 500
// for s in fragments {
// let length = CharacterCounter.count(text: s)
// // add 1 for newline
// remaining -= length + 1
//
// textView.typeText(s + "\n")
// XCTAssertTrue(app.staticTexts["\(remaining) characters remaining"].exists, "subsequent character count is \(remaining)")
// }
// }
2020-09-13 17:19:56 +00:00
// func testToolbarSwitching() {
// // text view is automatically focused, so unfocus
// app.swipeDown()
//
// XCTAssertEqual(app.toolbars.count, 1)
// XCTAssertEqual(app.toolbars.buttons.count, 3)
// XCTAssertTrue(app.toolbars.buttons["CW"].exists)
// XCTAssertTrue(app.toolbars.buttons["Visibility: Public"].exists)
// XCTAssertTrue(app.toolbars.buttons["Drafts"].exists)
//
// }
func testContentWarning() {
let toolbar = app.toolbars.firstMatch
XCTAssertTrue(toolbar.waitForExistence(timeout: 0.1))
XCTAssertEqual(app.toolbars.count, 1, "there is only 1 toolbar")
let cwButton = toolbar.buttons["CW"]
XCTAssertTrue(cwButton.exists, "the CW button exists")
cwButton.tap()
let cwField = app.textFields.firstMatch
XCTAssertEqual(cwField.placeholderValue, "Write your warning here")
XCTAssertTrue(app.staticTexts["500 characters remaining"].exists)
cwField.tap()
2021-02-06 18:47:45 +00:00
// on iOS 14, the first type text is typed into a SwiftUI TextField by a test has the 1st character is inexplicably dropped >.<
let str = "fooo"
2020-09-13 17:19:56 +00:00
cwField.typeText(str)
XCTAssertTrue(app.staticTexts["497 characters remaining"].exists)
// CharacterCounter is not used => '@' is counted
cwField.typeText(" @bar")
XCTAssertTrue(app.staticTexts["492 characters remaining"].exists)
}
}