Exemple #1
0
        public void AddUser()
        {
            //-- arrange
            var countBeforeAdd = _repository.GetUsers(_resourceParameters).Count;

            var user = new User
            {
                FirstName    = "fname",
                LastName     = "lname",
                EmailAddress = "email@users",
                Password     = "******"
            };

            //-- act
            _repository.AddUser(user);
            _repository.Save();

            var actual = _repository.GetUsers(_resourceParameters).Count;

            //-- assert
            Assert.AreEqual(countBeforeAdd + 1, actual);

            //-- clean up
            _repository.DeleteUser(user);
            _repository.Save();
        }
Exemple #2
0
        public void TestInitialize()
        {
            _connection = new SqliteConnection("DataSource=:memory:");
            _connection.Open();

            var options = new DbContextOptionsBuilder <WeblogContext>()
                          .UseSqlite(_connection)
                          .Options;

            _context = new WeblogContext(options);
            _context.Database.EnsureCreated();

            _repository = new WeblogDataRepository(_context);

            _resourceParameters = new BlogsResourceParameters
            {
                PageNumber  = 1,
                PageSize    = 10,
                SearchQuery = ""
            };

            _repository.AddUser(new User
            {
                FirstName    = "fname",
                LastName     = "lname",
                EmailAddress = "user@email",
                Password     = "******"
            });
            _repository.Save();
        }
Exemple #3
0
        public void TestInitialize()
        {
            _connection = new SqliteConnection("DataSource=:memory:");
            _connection.Open();

            var options = new DbContextOptionsBuilder <WeblogContext>()
                          .UseSqlite(_connection)
                          .Options;

            _context = new WeblogContext(options);
            _context.Database.EnsureCreated();

            _repository = new WeblogDataRepository(_context);

            _resourceParameters = new CommentsResourceParameters
            {
                PageNumber = 1,
                PageSize   = 10
            };

            _repository.AddUser(new User
            {
                FirstName    = "fname",
                LastName     = "lname",
                EmailAddress = "user@email",
                Password     = "******"
            });
            _repository.Save();

            _repository.AddBlog(1, new Blog
            {
                Title   = "blog-title",
                Excerpt = "blog-excerpt"
            });
            _repository.Save();

            _repository.AddPost(1, new Post
            {
                Title       = "post-title",
                Body        = "post-body",
                TimeCreated = DateTime.Now
            });
            _repository.Save();
        }
Exemple #4
0
        public IActionResult CreateUser(
            [FromBody] UserForCreationDto user,
            [FromHeader(Name = nameof(HeaderNames.Accept))] string mediaType)
        {
            var userEntity = _mapper.Map <User>(user);

            _weblogDataRepository.AddUser(userEntity);

            try
            {
                _weblogDataRepository.Save();
            }
            catch (ApplicationException ex)
            {
                // adding user with email address that already exists
                ModelState.AddModelError(nameof(user.EmailAddress),
                                         ex.Message + "\n" + ex?.InnerException.Message);

                return(ErrorHandler.UnprocessableEntity(ModelState, HttpContext));
            }

            var newUserToReturn = _mapper.Map <UserDto>(userEntity);

            var includeLinks = MediaTypes.IncludeLinks(mediaType);

            if (!includeLinks)
            {
                return(CreatedAtRoute(nameof(GetUser),
                                      new { userId = newUserToReturn.UserId },
                                      newUserToReturn));
            }

            var links         = CreateLinksForUser(newUserToReturn.UserId);
            var userWithLinks = new UserDtoWithLinks(newUserToReturn, links);

            return(CreatedAtRoute(nameof(GetUser),
                                  new { userId = newUserToReturn.UserId },
                                  userWithLinks));
        }