public void GetUser_ReturnsUserDto() { Guid IdMock = Guid.NewGuid(); var userMock = new User() { Id = IdMock, Username = "******", Profile = new UserProfile() { Id = IdMock, FirstName = "test firstname", LastName = "test lastname", CurrentTradeRole = TradeRole.Seller, Address = new Address() { Country = "UK" } } }; IUsersRepository usersRepository = new UsersRepositoryMock(userMock); UsersController controller = new UsersController(usersRepository); var actionResult = controller.GetUser(IdMock).Result; var response = actionResult as OkNegotiatedContentResult<UserDto>; Assert.IsNotNull(response.Content); Assert.AreEqual<Guid>(IdMock, response.Content.Id); Assert.AreEqual<string>(userMock.Username, response.Content.Username); Assert.AreEqual<string>(userMock.Profile.FirstName, response.Content.FirstName); Assert.AreEqual<string>(userMock.Profile.LastName, response.Content.LastName); Assert.AreEqual<string>(userMock.Profile.CurrentTradeRole.ToString(), response.Content.CurrentTradeRole.ToString()); Assert.AreEqual<string>(userMock.Profile.Address.Country, response.Content.Address.Country); }
public async Task<bool> CreateUser(User newUser) { this.dbContext.Users.Add(newUser); await this.dbContext.SaveChangesAsync(); return true; }
public async Task<bool> UpdateUser(User modifiedUser) { var existingUser = await this.dbContext.Users.FindAsync(modifiedUser.Id); if (existingUser == null) { return false; } // Explicitly map the properties which can be changed to avoid changing some of the unchangable ones (ex: Username) existingUser.Profile.FirstName = modifiedUser.Profile.FirstName; existingUser.Profile.LastName = modifiedUser.Profile.LastName; existingUser.Profile.LastModified = modifiedUser.Profile.LastModified; existingUser.Profile.CurrentTradeRole = modifiedUser.Profile.CurrentTradeRole; existingUser.Profile.Address = modifiedUser.Profile.Address; await this.dbContext.SaveChangesAsync(); return true; }
public UsersRepositoryMock(User userMock) { this.userMock = userMock; }
public static RelatedUserDto MapUserAndProfileToRelatedUserDto(User user, UserProfile profile) { return new RelatedUserDto() { UserId = user.Id, Username = user.Username, FirstName = profile.FirstName, LastName = profile.LastName, CurrentTradeRole = Mapper.MapTradeRoleEntityToDto(profile.CurrentTradeRole) }; }