Skip to content

Commit

Permalink
MT-00 Added more tests
Browse files Browse the repository at this point in the history
  • Loading branch information
DCay committed Apr 14, 2024
1 parent 4b8890e commit 8f90be7
Showing 1 changed file with 50 additions and 0 deletions.
50 changes: 50 additions & 0 deletions src/Service/MeTube.Service.Tests/Videos/VideoServiceTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -131,4 +131,54 @@ public async Task TestGetAll_WithTrackedAndExistingVideos_ShouldReturnCollection

Assert.That(areEqual, Is.True);
}

[Test]
public async Task TestGetAll_NonTrackedAndExistingVideos_ShouldReturnCollectionOfVideos()
{
// Arrange
var testVideoDataQueryable = this.GetTestVideoData().AsQueryable();
var mockSet = MoqExtensions.MockQueryable(testVideoDataQueryable);
mockSet.As<IQueryable<Video>>().Setup(m => m.GetEnumerator()).Returns(() => testVideoDataQueryable.GetEnumerator());

videoRepositoryMock.Setup(vr => vr.GetAllAsNoTracking())
.Returns(mockSet.Object);

var expectedCollection = this.GetTestVideoData().Select(video => video.ToVideoDto(true, true, true)).AsQueryable();

// Act
var actualQueryable = this.videoService.GetAll(false);

// Assert
var areEqual = MoqExtensions.CompareCollections(expectedCollection, actualQueryable, (firstVideo, secondVideo) =>
{
return firstVideo.Id == secondVideo.Id && firstVideo.Title == secondVideo.Title;
});

Assert.That(areEqual, Is.True);
}

[Test]
public async Task TestGetAll_WithDefaultParameterAndExistingVideos_ShouldReturnCollectionOfVideos()
{
// Arrange
var testVideoDataQueryable = this.GetTestVideoData().AsQueryable();
var mockSet = MoqExtensions.MockQueryable(testVideoDataQueryable);
mockSet.As<IQueryable<Video>>().Setup(m => m.GetEnumerator()).Returns(() => testVideoDataQueryable.GetEnumerator());

videoRepositoryMock.Setup(vr => vr.GetAll())
.Returns(mockSet.Object);

var expectedVideoId = "2";
var expectedVideoTitle = "Video-2";

// Act
var actualVideo = await videoService.GetByIdAsync("2");

var actualVideoId = actualVideo.Id;
var actualVideoTitle = actualVideo.Title;

// Assert
Assert.That(actualVideoId, Is.EqualTo(expectedVideoId), "Video Ids differ.");
Assert.That(actualVideoTitle, Is.EqualTo(expectedVideoTitle), "Video Titles differ.");
}
}

0 comments on commit 8f90be7

Please sign in to comment.