public void UserControllerTestInitialize()
        {
            _userDetailRepository = new Mock <IUserDetailRepository>();
            _testUser1            = new UserDetails
            {
                Id       = Guid.NewGuid(),
                UserName = "******",
                Password = "******".HashPassword(),
                UserType = 1
            };

            _testUserList = new List <UserDetails>();
            _testUserList.Add(_testUser1);

            _testCustomeUserModel = new CustomUserModel
            {
                UserName = "******",
                UserType = 1
            };

            _testUserforInsert = new CustomeUserDetailsModelForInsert
            {
                UserName = "******",
                Password = "******",
                UserType = 2
            };

            _testUserforDuplicateInsert = new CustomeUserDetailsModelForInsert
            {
                UserName = "******",
                Password = "******",
                UserType = 2
            };
        }
        async public Task <ActionResult> AddUser([FromBody] CustomeUserDetailsModelForInsert userDetails)
        {
            try
            {
                var response = await _userDetailRepository.InsertUserDetails(userDetails);

                if (response == 1)
                {
                    return(Ok(response));
                }
                else
                {
                    return(BadRequest(response));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
        async public Task <int> InsertUserDetails(CustomeUserDetailsModelForInsert userDetails)
        {
            var config = new MapperConfiguration(cfg => cfg.CreateMap <CustomeUserDetailsModelForInsert, UserDetails>());

            var         mapper = config.CreateMapper();
            UserDetails userDetailsForInsert = mapper.Map <UserDetails>(userDetails);

            userDetailsForInsert.Id       = Guid.NewGuid();
            userDetailsForInsert.Password = userDetailsForInsert.Password.HashPassword();

            _apiContext.UserDetails.Add(userDetailsForInsert);

            try
            {
                var response = await _apiContext.SaveChangesAsync();

                return(response);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public void GetUserDetailInitialize()
        {
            _optionsBuilder = new DbContextOptionsBuilder <ApiContext>();
            _optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());

            _dbContext = new ApiContext(_optionsBuilder.Options);

            SampleTestData.SetSampleTestData(_dbContext);

            Guid id = Guid.NewGuid();

            _testUser = new UserDetails
            {
                Id       = id,
                UserName = "******",
                Password = "******".HashPassword(),
                UserType = 2
            };

            _testUserforInsert = new CustomeUserDetailsModelForInsert
            {
                UserName = "******",
                Password = "******",
                UserType = 2
            };

            _testUserforDuplicateInsert = new CustomeUserDetailsModelForInsert
            {
                UserName = "******",
                Password = "******",
                UserType = 2
            };

            _dbContext.Add(_testUser);
            _dbContext.SaveChanges();
        }