annotate SimoleonUITests/SimoleonUITests.swift @ 44:415d51d6923f

Adding tests
author Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
date Mon, 26 Jul 2021 17:36:09 +0100
parents e0c2bda6c51f
children 1c7687d30373
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
1 //
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
2 // SimoleonUITests.swift
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
3 // SimoleonUITests
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
4 //
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
5 // Created by Dennis Concepción Martín on 08/07/2021.
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
6 //
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
7
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
8 import XCTest
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
9
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
10 class SimoleonUITests: XCTestCase {
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
11
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
12 override func setUpWithError() throws {
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
13 // Put setup code here. This method is called before the invocation of each test method in the class.
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
14
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
15 // In UI tests it is usually best to stop immediately when a failure occurs.
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
16 continueAfterFailure = false
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
17
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
18 // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this.
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
19 }
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
20
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
21 override func tearDownWithError() throws {
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
22 // Put teardown code here. This method is called after the invocation of each test method in the class.
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
23 }
44
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
24
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
25 // MARK: - Tab View
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
26 func testTabBarButtons() {
0
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
27 let app = XCUIApplication()
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
28 app.launch()
44
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
29
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
30 app.tabBars.buttons["Favourites"].tap()
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
31 XCTAssertTrue(app.navigationBars["Favourites"].exists)
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
32
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
33 app.tabBars.buttons["Settings"].tap()
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
34 XCTAssertTrue(app.navigationBars["Settings"].exists)
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
35
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
36 app.tabBars.buttons["Convert"].tap()
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
37 XCTAssertTrue(app.navigationBars["Convert"].exists)
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
38 }
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
39
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
40 // MARK: - Conversion View
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
41 func testCurrencySelector() {
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
42 let app = XCUIApplication()
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
43 app.launch()
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
44
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
45 let currencySelectorButton = app.buttons["CurrencySelector"]
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
46 currencySelectorButton.tap()
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
47
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
48 let searchBar = app.textFields["SearchBar"]
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
49 searchBar.typeText("BTC/USD")
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
50
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
51 let currencyRowButton = app.buttons["CurrencyRowButton"].firstMatch
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
52 let currencyRowButtonLabel = currencyRowButton.label
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
53 currencyRowButton.tap()
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
54
415d51d6923f Adding tests
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents: 0
diff changeset
55 XCTAssertTrue(currencyRowButtonLabel == currencySelectorButton.label)
0
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
56 }
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
57
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
58 func testLaunchPerformance() throws {
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
59 if #available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 7.0, *) {
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
60 // This measures how long it takes to launch your application.
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
61 measure(metrics: [XCTApplicationLaunchMetric()]) {
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
62 XCUIApplication().launch()
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
63 }
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
64 }
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
65 }
e0c2bda6c51f first commit
Dennis Concepción Martín <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
66 }