session-ios/SignalServiceKit/tests/Messages/Interactions/TSOutgoingMessageTest.m
2018-09-10 17:30:18 -05:00

69 lines
2.5 KiB
Objective-C

//
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
#import "TSOutgoingMessage.h"
#import "OWSPrimaryStorage.h"
#import "SSKBaseTest.h"
#import "TSContactThread.h"
NS_ASSUME_NONNULL_BEGIN
@interface TSOutgoingMessageTest : SSKBaseTest
@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