public async void SendMessage_Scenario_SendsMessage() { // arrange var expectedMessage = new PlayerCreatedMessage(); var sqsConfig = new AmazonSQSConfig(); sqsConfig.ServiceURL = "https://sqs.us-east-1.amazonaws.com"; var _sqsClient = new Mock <AmazonSQSClient>(sqsConfig); _sqsClient.Setup( sqs => sqs.SendMessageAsync(It.IsAny <SendMessageRequest>(), It.IsAny <CancellationToken>())) .ReturnsAsync(new SendMessageResponse()); var messageRepository = new MessageRepository <PlayerCreatedMessage>(_sqsClient.Object); // act await messageRepository.SendMessage(expectedMessage); // assert _sqsClient.Verify( sqs => sqs.SendMessageAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <CancellationToken>()), Times.Once); }
public async void SendMessage_Scenario_SendsMessageToRepository() { // arrange var _messageRepository = new Mock <IMessageRepository <PlayerCreatedMessage> >(); var messageService = new MessageService <PlayerCreatedMessage>(_messageRepository.Object); var message = new PlayerCreatedMessage(); // Act await messageService.SendMessage(message); // Assert _messageRepository.Verify( sqs => sqs.SendMessage(It.Is <PlayerCreatedMessage>(m => m.MessageType == MessageType.PlayerCreated)), Times.Once); }