public void AddRemoveUserDetailTest() { var userDto = SeedUser(); UserDetailDto detailDto = new UserDetailDto() { UserDetailId = TestUserDetailId, UserId = userDto.UserId, Characteristic = TEST_CHARACTERISTIC, Description = TEST_DESCRIPTION, ProficiencyLevel = TestProficiencyLevel, LastUpdateUserId = userDto.UserId }; //add user so FK is not violated UserService.DeleteUser(userDto.UserName); var addUserResult = UserService.AddUser(userDto); Assert.IsTrue(addUserResult.IsSuccess); var addDetailResult = UserDetailService.AddUserDetail(detailDto); Assert.IsTrue(addUserResult.IsSuccess); var detail = UserDetailService.GetUserDetail(detailDto.UserDetailId); Assert.IsNotNull(detail); Assert.AreEqual(TestUserDetailId, detail.UserDetailId); Assert.AreEqual(userDto.UserId, detail.UserId); Assert.AreEqual(TEST_CHARACTERISTIC, detail.Characteristic); Assert.AreEqual(TEST_DESCRIPTION, detail.Description); Assert.AreEqual(TestProficiencyLevel, detail.ProficiencyLevel); Assert.AreEqual(userDto.UserId, detail.LastUpdateUserId); detailDto.Description = TEST_DESCRIPTION_2; var updateResult = UserDetailService.UpdateUserDetail(detailDto); Assert.IsTrue(updateResult.IsSuccess); detail = UserDetailService.GetUserDetail(detailDto.UserDetailId); Assert.IsNotNull(detail); Assert.AreEqual(TEST_DESCRIPTION_2, detail.Description); foreach (var d in UserDetailService.GetUserDetails(detailDto.UserId)) { var deleteDetailResult = UserDetailService.DeleteUserDetail(d.UserDetailId); Assert.IsTrue(deleteDetailResult.IsSuccess); } DeleteSeededUser(userDto.UserId); }