Signal-iOS/SignalServiceKit/tests/Messages/Interactions/TSOutgoingMessageTest.m
Michael Kirk ccb4a88742 Import SSK (and history) into Signal-iOS
git remote add ssk ../SignalServiceKit
git remote update
git merge -s ours --allow-unrelated-histories --no-commit ssk/master
git read-tree --prefix=SignalServiceKit -u ssk/master
git commit
2017-07-21 13:55:01 -04:00

68 lines
2.5 KiB
Objective-C

//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
//
#import "TSContactThread.h"
#import "TSOutgoingMessage.h"
#import <XCTest/XCTest.h>
NS_ASSUME_NONNULL_BEGIN
@interface TSOutgoingMessageTest : XCTestCase
@property (nonatomic) TSContactThread *thread;
@end
@implementation TSOutgoingMessageTest
- (void)setUp
{
[super setUp];
self.thread = [[TSContactThread alloc] initWithUniqueId:@"fake-thread-id"];
}
- (void)testShouldNotStartExpireTimerWithMessageThatDoesNotExpire
{
TSOutgoingMessage *message = [[TSOutgoingMessage alloc] initWithTimestamp:100 inThread:self.thread messageBody:nil];
XCTAssertFalse(message.shouldStartExpireTimer);
}
- (void)testShouldStartExpireTimerWithSentMessage
{
TSOutgoingMessage *message = [[TSOutgoingMessage alloc] initWithTimestamp:100
inThread:self.thread
messageBody:nil
attachmentIds:[NSMutableArray new]
expiresInSeconds:10];
[message updateWithMessageState:TSOutgoingMessageStateSentToService];
XCTAssert(message.shouldStartExpireTimer);
}
- (void)testShouldNotStartExpireTimerWithUnsentMessage
{
TSOutgoingMessage *message = [[TSOutgoingMessage alloc] initWithTimestamp:100
inThread:self.thread
messageBody:nil
attachmentIds:[NSMutableArray new]
expiresInSeconds:10];
[message updateWithMessageState:TSOutgoingMessageStateUnsent];
XCTAssertFalse(message.shouldStartExpireTimer);
}
- (void)testShouldNotStartExpireTimerWithAttemptingOutMessage
{
TSOutgoingMessage *message = [[TSOutgoingMessage alloc] initWithTimestamp:100
inThread:self.thread
messageBody:nil
attachmentIds:[NSMutableArray new]
expiresInSeconds:10];
[message updateWithMessageState:TSOutgoingMessageStateAttemptingOut];
XCTAssertFalse(message.shouldStartExpireTimer);
}
@end
NS_ASSUME_NONNULL_END