public async Task TestHandle_UserIsAuthenticatedAndIsFollowing_ShouldSetDtoFollowingToFalse(string username) { // Arrange var currentUserEmail = "currentUserEmail"; var currentUserProfile = new UserProfile(Guid.NewGuid().ToString(), currentUserEmail, "currentUsername"); var profile = new UserProfile(Guid.NewGuid().ToString(), "email", username); Context.UserProfiles.Add(currentUserProfile); Context.UserProfiles.Add(profile); await Context.SaveChangesAsync(); Context.UserFollowers.Add(new UserFollower(profile.Id, currentUserProfile.Id)); await Context.SaveChangesAsync(); var query = new ProfileByUsernameQuery { Username = username }; var currentUser = Mock.Of <ICurrentUserService>(s => s.UserId == currentUserProfile.Id && s.IsAuthenticated == true); var sut = new ProfileByUsernameQuery.Handler(context: Context, mapper: Mapper, currentUser); // Act var actualResult = await sut.Handle(query, CancellationToken.None); // Assert actualResult.Following.Should().BeTrue(); }
public void TestHandle_ProfileDoesntExist_ShouldThrowEntityNotFoundExceptionWithCorrectMessage(string username) { // Arrange var query = new ProfileByUsernameQuery { Username = username }; var currentUserServiceMock = new Mock <ICurrentUserService>(); var sut = new ProfileByUsernameQuery.Handler(context: Context, mapper: Mapper, currentUserServiceMock.Object); // Act var action = new Func <Task <ProfileDto> >(async() => await sut.Handle(query, CancellationToken.None)); // Assert action.Should().Throw <EntityNotFoundException <UserProfile> >().And.Message.Should().Contain(username); }
public async Task TestHandle_UserIsAuthenticatedAndIsNotFollowing_ShouldSetDtoFollowingToFalse(string username) { // Arrange var profile = new UserProfile(Guid.NewGuid().ToString(), "email", username); Context.UserProfiles.Add(profile); await Context.SaveChangesAsync(); var query = new ProfileByUsernameQuery { Username = username }; var currentUserServiceMock = new Mock <ICurrentUserService>(); var sut = new ProfileByUsernameQuery.Handler(context: Context, mapper: Mapper, currentUserServiceMock.Object); // Act var actualResult = await sut.Handle(query, CancellationToken.None); // Assert actualResult.Following.Should().BeFalse(); }
public async Task TestHandle_ProfileExists_ShouldReturnCorrectly(string username) { // Arrange var profile = new UserProfile(Guid.NewGuid().ToString(), "email", username); Context.UserProfiles.Add(profile); await Context.SaveChangesAsync(); var query = new ProfileByUsernameQuery { Username = username }; var currentUserServiceMock = new Mock <ICurrentUserService>(); var sut = new ProfileByUsernameQuery.Handler(context: Context, mapper: Mapper, currentUserServiceMock.Object); var expectedResult = Mapper.Map <ProfileDto>(profile); // Act var actualResult = await sut.Handle(query, CancellationToken.None); // Assert actualResult.Should().BeEquivalentTo(expectedResult); }