コード例 #1
0
            public async Task Creating_And_Paying_Subject_Should_Work()
            {
                var threshold  = 5000;
                var url        = "/api/subjects";
                var subjectDto = new SubjectForCreationDto()
                {
                    Id = Guid.NewGuid().ToString(), Name = "sample", Amount = 5
                };
                var billDto = new BillForCreationDto()
                {
                    Amount = 5
                };

                _client.PostAsync(url,
                                  new StringContent(JsonConvert.SerializeObject(subjectDto), Encoding.UTF8, "application/json")).Wait();
                _client.PutAsync($"{url}/{subjectDto.Id}/bills",
                                 new StringContent(JsonConvert.SerializeObject(billDto), Encoding.UTF8, "application/json")).Wait();

                Thread.Sleep(threshold);
                var result = await _client.GetAsync(url);

                var subjects = JsonConvert.DeserializeObject <IEnumerable <SubjectReadModel> >(await result.Content.ReadAsStringAsync());

                var subject = subjects.FirstOrDefault(s => s.Id == new Guid(subjectDto.Id));

                Assert.Equal("sample", subject.Name);
                Assert.Equal(5, subject.Amount);
                Assert.Equal(5, subject.Bills.First().Amount);
            }
コード例 #2
0
ファイル: SubjectsController.cs プロジェクト: MAq2402/PayT
        public async Task <IActionResult> PayBillAsync(string id, [FromBody] BillForCreationDto model)
        {
            await _mediator.Send(new PayBillCommand(new Guid(id), model.Amount));

            return(NoContent());
        }