//
//  NineNewsUITests.swift
//  NineNewsUITests
//
//  Created by Danish Aziz on 18/10/19.
//  Copyright © 2019 Danish Aziz. All rights reserved.
//

import XCTest

class NineNewsUITests: XCTestCase {

    override func setUp() {
        // Put setup code here. This method is called before the invocation of each test method in the class.

        // In UI tests it is usually best to stop immediately when a failure occurs.
        continueAfterFailure = false

        // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method.
        XCUIApplication().launch()

        // 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.
    }

    override func tearDown() {
        // Put teardown code here. This method is called after the invocation of each test method in the class.
    }

    func testExample() {
        // Use recording to get started writing UI tests.
        // Use XCTAssert and related functions to verify your tests produce the correct results.
    }
    
    /// Articale View Controller Navigation testing.
    func testArticleTableViewNavigation() {
        let app = XCUIApplication()
        let cells = app.tables.cells
        sleep(1)
        XCTAssertGreaterThan(cells.count, 0)
        
        cells.element(boundBy: 0).tap()
        sleep(3)
        app.navigationBars["Story"].buttons["Articles"].tap()
    }
}
