public async Task <IActionResult> Post( ListinguserRequest listinguserCreateRequest, CancellationToken cancellationToken) { var newListingUser = new Listinguser { Userid = listinguserCreateRequest.Userid, Email = listinguserCreateRequest.Email, Firstname = listinguserCreateRequest.Firstname, Lastname = listinguserCreateRequest.Lastname, Password = listinguserCreateRequest.Password, RegionId = listinguserCreateRequest.RegionId }; try { var password = newListingUser.Password; #nullable enable newListingUser.Password = new PasswordHasher <object?>() .HashPassword(null, password); #nullable disable
public async void ShouldNotRegisterIfDuplicateUserIdFound( int id, string userid, string email, string firstname, string lastname, string password, int regionId) { // Arrange var newUser = new Listinguser { Id = id, Userid = userid, Email = email, Firstname = firstname, Lastname = lastname, Password = password, RegionId = regionId }; var newUserRequest = new ListinguserRequest { Userid = userid, Email = email, Firstname = firstname, Lastname = lastname, Password = password, RegionId = regionId }; mockListinguserRepository .Setup(x => x.GetAsync( It.Is <List <KeyValuePair <string, string> > >(x => x.First(p => p.Key == "UserId").Value == userid ), null, null )) .ReturnsAsync(new List <Listinguser> { new Listinguser() }); mockListinguserRepository .Setup(x => x.PostAsync( It.Is <Listinguser>(x => x.Userid == userid) )) .ReturnsAsync(new Listinguser { Id = 1, Userid = userid, Email = email, Firstname = firstname, Lastname = lastname, Password = password, RegionId = regionId }); mockUnitOfWork .Setup(uow => uow.ListinguserRepository) .Returns(mockListinguserRepository.Object); // Act var result = await _controller.Post(newUserRequest, cancellationToken); // Assert Assert.NotNull(result); Assert.IsType <ObjectResult>(result); var objResult = result as ObjectResult; Assert.Equal(500, objResult.StatusCode); var valueResult = objResult.Value as ProblemDetails; Assert.Contains("Registration Unsucessful", valueResult.Title); Assert.Contains("UserId already exists", valueResult.Detail); }
public async void ShouldRegisterUser(int id, string userid, string email, string firstname, string lastname, string password, int regionId) { // Arrange var newUser = new Listinguser { Id = id, Userid = userid, Email = email, Firstname = firstname, Lastname = lastname, Password = password, RegionId = regionId }; var newUserRequest = new ListinguserRequest { Userid = userid, Email = email, Firstname = firstname, Lastname = lastname, Password = password, RegionId = regionId }; mockListinguserRepository .Setup(x => x.GetAsync( It.Is <List <KeyValuePair <string, string> > >(x => x.First(p => p.Key == "UserId").Value == userid ), null, null )) .ReturnsAsync(new List <Listinguser>()); mockListinguserRepository .Setup(x => x.PostAsync( It.Is <Listinguser>(x => x.Userid == userid) )) .ReturnsAsync(new Listinguser { Id = 1, Userid = userid, Email = email, Firstname = firstname, Lastname = lastname, Password = password, RegionId = regionId }); mockUnitOfWork .Setup(uow => uow.ListinguserRepository) .Returns(mockListinguserRepository.Object); // Act var result = await _controller.Post(newUserRequest, cancellationToken); // Assert var createdResult = result as CreatedAtActionResult; Assert.NotNull(createdResult); Assert.Equal(201, createdResult.StatusCode); Assert.IsType <Listinguser>(createdResult.Value); var valueResult = createdResult.Value as Listinguser; Assert.NotNull(valueResult); // Assert.Equal(id, valueResult.Id); Assert.Equal(userid, valueResult.Userid); Assert.Equal(email, valueResult.Email); Assert.Equal(firstname, valueResult.Firstname); Assert.Equal(lastname, valueResult.Lastname); Assert.Equal(regionId, valueResult.RegionId); }