public async Task GivenUnverifiedEmail_ThrowsConflictException() { // Arrange _currentUserMock.Setup(m => m.UserId).Returns("NEWPROFILE"); _currentUserMock.Setup(m => m.Username).Returns("New User"); _currentUserMock.Setup(m => m.Email).Returns("*****@*****.**"); _userManagerMock.Setup(m => m.GetUserAsync(_currentUserMock.Object.UserId)).ReturnsAsync((Result.Success(), new ShowcaseUser { EmailVerified = false })); var command = new RegisterNewAccountCommand { PublicProfileUsername = "******", PublicProfileDescription = "New profile guy's description" }; // Act await _sut.Handle(command, CancellationToken.None); // Assert _userManagerMock.Verify(m => m.GetUserAsync(It.Is <string>(c => c == _currentUserMock.Object.UserId)), Times.Once); //_userManagerMock.Verify(m => m.EditUserAsync(It.Is<string>(c => c == _currentUserMock.Object.UserId), It.Is<string>(c => c == command.PublicProfileUsername) // , It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>() // , It.IsAny<Dictionary<string, object>>(), It.IsAny<Dictionary<string, object>>() // , It.IsAny<bool>()) //, Times.Never); await Assert.ThrowsAsync <ResourceConflictException>(() => _sut.Handle(command, CancellationToken.None)); }
public async Task GivenNonUniqueId_ThrowsResourceConflictException() { // Arrange _currentUserMock.Setup(m => m.UserId).Returns("HAMZA"); var command = new RegisterNewAccountCommand(); // Assert await Assert.ThrowsAsync <ResourceConflictException>(() => _sut.Handle(command, CancellationToken.None)); }
public async Task GivenNonUniqueUsername_ThrowsResourceConflictException() { // Arrange var command = new RegisterNewAccountCommand { PublicProfileUsername = "******", PublicProfileDescription = "dummy description" }; // Assert await Assert.ThrowsAsync <ResourceConflictException>(() => _sut.Handle(command, CancellationToken.None)); }
public async Task GivenNonUniqueEmail_ProfileIsntAdded() { // Arrange _currentUserMock.Setup(m => m.Email).Returns("*****@*****.**"); var command = new RegisterNewAccountCommand(); // Act await _sut.Handle(command, CancellationToken.None); // Assert var profiles = await _context.Profiles .Where(e => e.Email == _currentUserMock.Object.Email) .ToListAsync(); Assert.Single <ShowcaseProfile>(profiles); }
public async Task GivenNonUniqueUsername_ProfileIsntAdded() { // Arrange var command = new RegisterNewAccountCommand { PublicProfileUsername = "******", PublicProfileDescription = "dummy description" }; // Act await _sut.Handle(command, CancellationToken.None); // Assert var profiles = await _context.Profiles .Where(e => e.Username == command.PublicProfileUsername) .ToListAsync(); Assert.Single <ShowcaseProfile>(profiles); }
public async Task GivenValidRequest_ProfileIsAdded() { // Arrange _currentUserMock.Setup(m => m.UserId).Returns("NEWPROFILE"); _currentUserMock.Setup(m => m.Username).Returns("New User"); _currentUserMock.Setup(m => m.Email).Returns("*****@*****.**"); var command = new RegisterNewAccountCommand { PublicProfileUsername = "******", PublicProfileDescription = "New profile guy's description" }; // Act await _sut.Handle(command, CancellationToken.None); // Assert var profile = await _context.Profiles.FindAsync(_currentUserMock.Object.UserId); Assert.NotNull(profile); var notes = await _context.ActivityNotes.Where(e => e.ShowcaseProfileId == _currentUserMock.Object.UserId && e.CreatedOn == profile.CreatedOn).ToListAsync(); Assert.True(notes.Count >= 1); Assert.Equal(_currentUserMock.Object.Username, profile.Name); Assert.Equal(_currentUserMock.Object.Email, profile.Email); Assert.Equal(_currentUserMock.Object.UserId, profile.ProfileId); Assert.Equal(command.PublicProfileUsername, profile.Username); Assert.Equal(profile.CreatedOn, DateTime.Now); Assert.Equal(profile.CreatedBy, _currentUserMock.Object.UserId); //_userManagerMock.Verify(m => m.EditUserAsync(It.Is<string>(c => c == _currentUserMock.Object.UserId), It.Is<string>(c => c == command.PublicProfileUsername) // , It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>() // , It.IsAny<Dictionary<string, object>>(), It.IsAny<Dictionary<string, object>>() // , It.IsAny<bool>()) //, Times.Once); }
public async Task GivenUnverifiedEmail_DoesNotAddProfile() { // Arrange _currentUserMock.Setup(m => m.UserId).Returns("NEWPROFILE"); _currentUserMock.Setup(m => m.Username).Returns("New User"); _currentUserMock.Setup(m => m.Email).Returns("*****@*****.**"); _userManagerMock.Setup(m => m.GetUserAsync(_currentUserMock.Object.UserId)).ReturnsAsync((Result.Success(), new ShowcaseUser { EmailVerified = false })); var command = new RegisterNewAccountCommand { PublicProfileUsername = "******", PublicProfileDescription = "New profile guy's description" }; // Act await _sut.Handle(command, CancellationToken.None); // Assert var profile = await _context.Profiles.FindAsync(_currentUserMock.Object.UserId); Assert.Null(profile); }