Beispiel #1
0
        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);
        }