public async Task GivenValidRequest_UpdatesTheUser() { // Arrange _currentUserMock.Setup(x => x.IsAuthenticated).Returns(true); _currentUserMock.Setup(x => x.UserId).Returns("HAMZA"); _currentUserMock.Setup(x => x.Username).Returns("hrahimy"); var command = new EditShowcaseProfileCommand { ProfileId = "HAMZA", NewProfileDescription = "Dummy Description", NewProfileUsername = "******", NewThumbnailFileId = "hamzaProfileImage1", NewProfileName = "Hamza Rahimy" }; // Act await _sut.Handle(command, CancellationToken.None); // Assert _userManagerMock.Verify(m => m.EditUserAsync(It.Is <string>(c => c == _currentUserMock.Object.UserId) , It.Is <string>(c => c == command.NewProfileUsername) , It.Is <string>(c => c == command.NewProfileName) , It.Is <string>(c => c == command.NewProfileDescription)) , Times.Once); var profile = await _context.Profiles.FindAsync(_currentUserMock.Object.UserId); Assert.Equal(profile.LastModifiedOn, _dateTimeMock.Object.Now); Assert.Equal(profile.LastModifiedBy, _currentUserMock.Object.UserId); }
public async Task GivenNonExistingProfileImage_ThrowsNotFoundException() { _currentUserMock.Setup(x => x.IsAuthenticated).Returns(true); _currentUserMock.Setup(x => x.UserId).Returns("HAMZA"); var nonExistantFileId = new Guid().ToString(); var command = new EditShowcaseProfileCommand { ProfileId = "HAMZA", NewProfileDescription = "Dummy description", NewProfileUsername = "******", NewThumbnailFileId = nonExistantFileId }; // Assert await Assert.ThrowsAsync <NotFoundException>(() => _sut.Handle(command, CancellationToken.None)); }
public async Task GivenNonUniqueUsername_ThrowsResourceConflictException() { _currentUserMock.Setup(x => x.IsAuthenticated).Returns(true); _currentUserMock.Setup(x => x.UserId).Returns("HAMZA"); // Arrange var command = new EditShowcaseProfileCommand { ProfileId = "HAMZA", NewProfileDescription = "Dummy Description", NewProfileUsername = "******", NewThumbnailFileId = "hamzaProfileImage1" }; // Assert await Assert.ThrowsAsync <ResourceConflictException>(() => _sut.Handle(command, CancellationToken.None)); var profile = await _context.Profiles.FindAsync("HAMZA"); Assert.False(profile.LastModifiedOn == DateTime.Now); }
public async Task GivenRequesterAndTargetProfileIdMismatch_ThrowsForbiddenException() { // Arrange _currentUserMock.Setup(x => x.IsAuthenticated).Returns(true); _currentUserMock.Setup(x => x.UserId).Returns("HRAH"); _currentUserMock.Setup(x => x.Username).Returns("hrahimy"); var command = new EditShowcaseProfileCommand { ProfileId = "HAMZA", NewProfileDescription = "Dummy Description", NewProfileUsername = "******", NewThumbnailFileId = "hamzaProfileImage1" }; // Assert await Assert.ThrowsAsync <ForbiddenException>(() => _sut.Handle(command, CancellationToken.None)); var profile = await _context.Profiles.FindAsync("HAMZA"); Assert.False(profile.LastModifiedOn == DateTime.Now); }