180 lines
4.9 KiB
Swift
180 lines
4.9 KiB
Swift
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
import Foundation
|
|
import MobileCoreServices
|
|
|
|
class ChatOutgoingFileCellSnapshotTest: CellSnapshotTest {
|
|
override func setUp() {
|
|
super.setUp()
|
|
|
|
recordMode = false
|
|
}
|
|
|
|
func testWaitingState() {
|
|
let model = ChatOutgoingFileCellModel()
|
|
model.state = .waitingConfirmation
|
|
model.fileName = "file.txt"
|
|
model.fileSize = "3.14 KB"
|
|
model.fileUTI = kUTTypePlainText as String
|
|
|
|
let cell = ChatOutgoingFileCell()
|
|
cell.setupWithTheme(theme, model: model)
|
|
|
|
updateCellLayout(cell)
|
|
verifyView(cell)
|
|
}
|
|
|
|
func testLoading() {
|
|
let model = ChatOutgoingFileCellModel()
|
|
model.state = .loading
|
|
model.fileName = "file.txt"
|
|
model.fileSize = "3.14 KB"
|
|
model.fileUTI = kUTTypePlainText as String
|
|
|
|
let progressObject = MockedChatProgressProtocol()
|
|
|
|
let cell = ChatOutgoingFileCell()
|
|
cell.setupWithTheme(theme, model: model)
|
|
cell.progressObject = progressObject
|
|
|
|
progressObject.updateProgress?(0.43)
|
|
|
|
updateCellLayout(cell)
|
|
verifyView(cell)
|
|
}
|
|
|
|
func testPaused() {
|
|
let model = ChatOutgoingFileCellModel()
|
|
model.state = .paused
|
|
model.fileName = "file.txt"
|
|
model.fileSize = "3.14 KB"
|
|
model.fileUTI = kUTTypePlainText as String
|
|
|
|
let progressObject = MockedChatProgressProtocol()
|
|
|
|
let cell = ChatOutgoingFileCell()
|
|
cell.setupWithTheme(theme, model: model)
|
|
cell.progressObject = progressObject
|
|
|
|
progressObject.updateProgress?(0.43)
|
|
|
|
updateCellLayout(cell)
|
|
verifyView(cell)
|
|
}
|
|
|
|
func testCancelled() {
|
|
let model = ChatOutgoingFileCellModel()
|
|
model.state = .cancelled
|
|
model.fileName = "file.txt"
|
|
model.fileSize = "3.14 KB"
|
|
model.fileUTI = kUTTypePlainText as String
|
|
|
|
let cell = ChatOutgoingFileCell()
|
|
cell.setupWithTheme(theme, model: model)
|
|
|
|
updateCellLayout(cell)
|
|
verifyView(cell)
|
|
}
|
|
|
|
func testDone() {
|
|
let model = ChatOutgoingFileCellModel()
|
|
model.state = .done
|
|
model.fileName = "file.txt"
|
|
model.fileSize = "3.14 KB"
|
|
model.fileUTI = kUTTypePlainText as String
|
|
|
|
let cell = ChatOutgoingFileCell()
|
|
cell.setupWithTheme(theme, model: model)
|
|
|
|
updateCellLayout(cell)
|
|
verifyView(cell)
|
|
}
|
|
|
|
func testWaitingStateWithImage() {
|
|
let model = ChatOutgoingFileCellModel()
|
|
model.state = .waitingConfirmation
|
|
model.fileName = "icon.png"
|
|
model.fileSize = "3.14 KB"
|
|
model.fileUTI = kUTTypePNG as String
|
|
|
|
let cell = ChatOutgoingFileCell()
|
|
cell.setupWithTheme(theme, model: model)
|
|
cell.setButtonImage(image)
|
|
|
|
updateCellLayout(cell)
|
|
verifyView(cell)
|
|
}
|
|
|
|
func testLoadingWithImage() {
|
|
let model = ChatOutgoingFileCellModel()
|
|
model.state = .loading
|
|
model.fileName = "icon.png"
|
|
model.fileSize = "3.14 KB"
|
|
model.fileUTI = kUTTypePNG as String
|
|
|
|
let progressObject = MockedChatProgressProtocol()
|
|
|
|
let cell = ChatOutgoingFileCell()
|
|
cell.setupWithTheme(theme, model: model)
|
|
cell.progressObject = progressObject
|
|
cell.setButtonImage(image)
|
|
|
|
progressObject.updateProgress?(0.43)
|
|
|
|
updateCellLayout(cell)
|
|
verifyView(cell)
|
|
}
|
|
|
|
func testPausedWithImage() {
|
|
let model = ChatOutgoingFileCellModel()
|
|
model.state = .paused
|
|
model.fileName = "icon.png"
|
|
model.fileSize = "3.14 KB"
|
|
model.fileUTI = kUTTypePNG as String
|
|
|
|
let progressObject = MockedChatProgressProtocol()
|
|
|
|
let cell = ChatOutgoingFileCell()
|
|
cell.setupWithTheme(theme, model: model)
|
|
cell.progressObject = progressObject
|
|
cell.setButtonImage(image)
|
|
|
|
progressObject.updateProgress?(0.43)
|
|
|
|
updateCellLayout(cell)
|
|
verifyView(cell)
|
|
}
|
|
|
|
func testCancelledWithImage() {
|
|
let model = ChatOutgoingFileCellModel()
|
|
model.state = .cancelled
|
|
model.fileName = "icon.png"
|
|
model.fileSize = "3.14 KB"
|
|
model.fileUTI = kUTTypePNG as String
|
|
|
|
let cell = ChatOutgoingFileCell()
|
|
cell.setupWithTheme(theme, model: model)
|
|
cell.setButtonImage(image)
|
|
|
|
updateCellLayout(cell)
|
|
verifyView(cell)
|
|
}
|
|
|
|
func testDoneWithImage() {
|
|
let model = ChatOutgoingFileCellModel()
|
|
model.state = .done
|
|
model.fileName = "icon.png"
|
|
model.fileSize = "3.14 KB"
|
|
model.fileUTI = kUTTypePNG as String
|
|
|
|
let cell = ChatOutgoingFileCell()
|
|
cell.setupWithTheme(theme, model: model)
|
|
cell.setButtonImage(image)
|
|
|
|
updateCellLayout(cell)
|
|
verifyView(cell)
|
|
}
|
|
}
|