[英]Create “fake” user in my ASPNETUsers Table
我正在运行一些集成测试,并且希望在ASPNETUsers
表中创建一个“假”用户。
我试图做以下没有运气的事情。
所以我的设置如下:-
[SetUp]
public void Setup()
{
var basePath = PlatformServices.Default.Application.ApplicationBasePath;
var projectPath = Path.GetFullPath(Path.Combine(basePath, "../../../../SportsStore2.Tests"));
var server = new TestServer(Utils.GetHostBuilder(new string[] { })
.UseContentRoot(projectPath)
.UseEnvironment("Development")
.UseStartup<Startup>());
_client = server.CreateClient();
}
然后插入如下:
var registerViewModel = new RegisterViewModel
{
Email = "test@test.com",
ConfirmPassword = "testing12345?",
Password = "testing12345?"
};
_client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var postResponseASPNETUser = await _client.PostAsJsonAsync("http://localhost:49406/Account/Register", registerViewModel);
var createdASPNETUser = await postResponseASPNETUser.Content.ReadAsStringAsync();
但是我得到了400条回应,“错误的请求”。
有什么想法我做错了吗?
感谢您的帮助和时间。
由于我没有运气并且无法找到为什么它没有返回正确的响应,所以我没有直接调用api,而是决定走另一条路线,并基本上在UsersController中创建了另一个Create Action,如下所示:
[HttpPost("Create")]
public IActionResult Create([FromBody] User user)
{
if (user == null)
return BadRequest();
var result = _usersService.Add(user, m => m.Name == user.Name);
if (result)
{
return CreatedAtRoute("GetUsers", new { id = user.Id }, user);
}
return BadRequest("Item not added");
}
[HttpPost("CreateAspNetUsers")]
public IActionResult CreateAspNetUsers([FromBody] RegisterViewModel registerViewModel)
{
if (registerViewModel == null)
return BadRequest();
var result = _aspNetUsersService.Add(registerViewModel, m => m.Name == registerViewModel.Email);
if (result)
{
return CreatedAtRoute("GetUsers", registerViewModel);
}
return BadRequest("Item not added");
}
这工作正常,并且给了我我想要的结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.