Пример #1
0
            public void PopulatesFromNoteIfRelevantNoteIsNotNull()
            {
                // Arrange
                var note = new BaseNote
                {
                    BlogName  = _request.CharacterUrlIdentifier,
                    Timestamp = _afterQueuedDate,
                    BlogUrl   = "http://www.test2.com/",
                    PostId    = "34567"
                };

                _mockAdapter.Setup(a => a.GetMostRecentRelevantNote(_request.CharacterUrlIdentifier, _request.PartnerUrlIdentifier))
                .Returns(note);

                // Act
                var dto = new ThreadStatusDto(_mockAdapter.Object, _request);

                // Assert
                dto.PostId.Should().Be(_request.PostId);
                dto.LastPostDate.Should().Be(_afterQueuedDate.ToUniversalTime());
                dto.LastPostUrl.Should().Be("http://www.test2.com/post/34567");
                dto.LastPosterUrlIdentifier.Should().Be(_request.CharacterUrlIdentifier);
                dto.IsCallingCharactersTurn.Should().BeFalse();
                dto.IsQueued.Should().BeFalse();
            }
Пример #2
0
            public void PopulatesThreadIdFromRequest()
            {
                // Act
                var dto = new ThreadStatusDto(null, _request);

                // Assert
                dto.ThreadId.Should().Be(54321);
            }
Пример #3
0
            public void HandlesNullDateMarkedQueued()
            {
                // Arrange
                _request.DateMarkedQueued = null;

                // Act
                var dto = new ThreadStatusDto(_mockAdapter.Object, _request);

                // Assert
                dto.IsQueued.Should().BeFalse();
            }
Пример #4
0
            public void PopulatesFromPostIfRelevantNoteIsNull()
            {
                // Act
                var dto = new ThreadStatusDto(_mockAdapter.Object, _request);

                // Assert
                dto.PostId.Should().Be(_request.PostId);
                dto.LastPostDate.Should().Be(_beforeQueuedDate.ToUniversalTime());
                dto.LastPostUrl.Should().Be("http://www.test.com");
                dto.LastPosterUrlIdentifier.Should().Be(_request.PartnerUrlIdentifier);
                dto.IsCallingCharactersTurn.Should().BeTrue();
                dto.IsQueued.Should().BeTrue();
            }
Пример #5
0
            public void ReturnsEmptyPropertiesIfPostIsNull()
            {
                // Act
                var dto = new ThreadStatusDto(null, _request);

                // Assert
                dto.PostId.Should().Be(_request.PostId);
                dto.LastPostDate.Should().Be(null);
                dto.LastPostUrl.Should().Be(null);
                dto.LastPosterUrlIdentifier.Should().Be(null);
                dto.IsCallingCharactersTurn.Should().BeTrue();
                dto.IsQueued.Should().BeFalse();
            }
            public async Task ReturnsSinglePostWhenRequested()
            {
                // Arrange
                var dto = new ThreadStatusDto
                {
                    PostId = "12345"
                };

                _mockPostService.Setup(s => s.GetPost(It.IsAny <ThreadStatusRequest>())).Returns(Task.FromResult(dto));

                // Act
                var response = await _controller.Get("postId", "characterUrlIdentifier", "partnerUrlIdentifier", DateTime.UtcNow);

                var body = ((OkObjectResult)response).Value as ThreadStatusDto;

                // Assert
                _mockPostService.Verify(s => s.GetPost(It.IsAny <ThreadStatusRequest>()), Times.Once);
                response.Should().BeOfType <OkObjectResult>();
                body?.PostId.Should().Be("12345");
            }