コード例 #1
0
        public async Task Integration_CreateNewAccount_EmptyDto_ExpectBadRequest(AccountInsertDto objDto)
        {
            var content       = JsonConvert.SerializeObject(objDto);
            var stringContent = new StringContent(content, Encoding.UTF8, "application/json");
            var response      = await _client.PostAsync("/api/account/create", stringContent);

            response.StatusCode.Should().Be(System.Net.HttpStatusCode.BadRequest);
            var responseString = await response.Content.ReadAsStringAsync();

            responseString.Should().Contain("The Name field is required");
        }
コード例 #2
0
        public async Task Integration_CreateNewAccount_ExpectAccountInResultAndRepository()
        {
            var newAccount = new AccountInsertDto {
                Name = "Johnny"
            };
            var content       = JsonConvert.SerializeObject(newAccount);
            var stringContent = new StringContent(content, Encoding.UTF8, "application/json");
            var response      = await _client.PostAsync("/api/account/create", stringContent);

            response.StatusCode.Should().Be(System.Net.HttpStatusCode.Created);
            var responseString = await response.Content.ReadAsStringAsync();

            AccountInsertResultDto account = JsonConvert.DeserializeObject <AccountInsertResultDto>(responseString);

            account.Should().NotBeNull();
            account.Name.Should().Be("Johnny");
            Account accountFromDb = _context.Accounts.Find(account.AccountId);

            accountFromDb.Should().NotBeNull();
            accountFromDb.Name.Should().Be(account.Name);
            accountFromDb.Id.Should().Be(account.AccountId);
        }
コード例 #3
0
        public async Task <IActionResult> CreateNewAccount([FromBody] AccountInsertDto objDto)
        {
            AccountCreatorService creator = new AccountCreatorService(_logger, objDto.Name, _accountRepo);

            return(this.GetActionResultFromServiceResult(await creator.CreateAccount()));
        }