Signal-iOS/SignalServiceKit/tests/Network/MessageSenderJobRecordTest.swift
2019-08-21 15:01:13 -03:00

53 lines
2.1 KiB
Swift

//
// Copyright (c) 2019 Open Whisper Systems. All rights reserved.
//
import Foundation
import XCTest
@testable import SignalServiceKit
let kMessageSenderJobRecordLabel = "MessageSender"
class SSKMessageSenderJobRecordTest: SSKBaseTestSwift {
func test_savedVisibleMessage() {
let message = OutgoingMessageFactory().create()
self.read { transaction in
let jobRecord = try! SSKMessageSenderJobRecord(message: message,
removeMessageAfterSending: false,
label: MessageSenderJobQueue.jobRecordLabel,
transaction: transaction)
XCTAssertNotNil(jobRecord.messageId)
XCTAssertNotNil(jobRecord.threadId)
XCTAssertNil(jobRecord.invisibleMessage)
}
}
func test_unsavedVisibleMessage() {
self.write { transaction in
let message = OutgoingMessageFactory().build(transaction: transaction)
do {
_ = try SSKMessageSenderJobRecord(message: message, removeMessageAfterSending: false, label: MessageSenderJobQueue.jobRecordLabel, transaction: transaction)
XCTFail("Should error")
} catch JobRecordError.assertionError {
// expected
} catch {
XCTFail("unexpected error: \(error)")
}
}
}
func test_invisibleMessage() {
let message = OutgoingMessageFactory().buildDeliveryReceipt()
self.read { transaction in
let jobRecord = try! SSKMessageSenderJobRecord(message: message,
removeMessageAfterSending: false,
label: MessageSenderJobQueue.jobRecordLabel,
transaction: transaction)
XCTAssertNil(jobRecord.messageId)
XCTAssertNotNil(jobRecord.threadId)
XCTAssertNotNil(jobRecord.invisibleMessage)
}
}
}