简体   繁体   English

在我的ASPNETUsers表中创建“假”用户

[英]Create “fake” user in my ASPNETUsers Table

I am running some Integration Tests and I wish to create a "fake" user in my ASPNETUsers table. 我正在运行一些集成测试,并且希望在ASPNETUsers表中创建一个“假”用户。

I am trying to do the following with no luck. 我试图做以下没有运气的事情。

So I have the Setup as follows :- 所以我的设置如下:-

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

and then the Insert is as follows :- 然后插入如下:

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

However I am getting a 400 response, Bad Request. 但是我得到了400条回应,“错误的请求”。

Any ideas what I am doing wrong? 有什么想法我做错了吗?

Thanks for your help and time. 感谢您的帮助和时间。

Instead of calling the api directly, since I had no luck and could not find why it was not returning a correct response, I decided to go another route, and basically created another Create Action inside my UsersController as follows:- 由于我没有运气并且无法找到为什么它没有返回正确的响应,所以我没有直接调用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");
    }

This works fine and is giving me the result I was after. 这工作正常,并且给了我我想要的结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 创建与AspNetUsers到其他表的关系 - Create Relationship to AspNetUsers to other table 我想为 ASP.NET 核心标识中的用户创建一个帐户,但我无法将数据插入表 dbo.AspNetUsers - I want to create an account for a user in ASP.NET Core identity but I can't insert the data into table dbo.AspNetUsers 是否将用户设置存储在ASP.NET Core身份AspNetUsers表中 - Store User Settings in ASP.NET Core Identity AspNetUsers Table or Not 使用存储过程从 AspNetUsers 表中检索所有或单个用户 - Using a stored procedure to retrieve all or single user from AspNetUsers table 如何从WebAPI更新AspNetUsers表中现有用户记录的密码 - How to update password for the existing user record in AspNetUsers table from WebAPI 使用单个用户帐户时如何在AspNetUsers表中设置PhoneNumber - How to set PhoneNumber in AspNetUsers table when using individual user accounts AspNetUsers链接到另一个表。 如何创建对象(1-1relationship) - AspNetUsers link to another table. How to create object (1-1relationship) 如何将 LINQ 中的表与 aspnetusers 连接,然后使用 ViewModel 的结果创建新的 object - How to join table in LINQ with aspnetusers and then create new object with results for ViewModel EF代码优先MVC:我应该将字段添加到默认的AspNetUsers表中还是创建另一个与AspNetUsers表相关的“ UserInfo”表? - EF Code-first MVC: Should I add fields to the default AspNetUsers table or create another 'UserInfo' table that relates to the AspNetUsers table? 通过迁移扩展AspNetUsers表 - Extending AspNetUsers table with migration
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM