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(); }
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(); }
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(); }
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)); }