Exemplo n.º 1
0
        public async Task <IActionResult> EditSubjectAsync(int unitId, EditSubjectCommand command)
        {
            command.UnitId = unitId;
            await _commandProcessor.SendAsync(command);

            return(Ok());
        }
Exemplo n.º 2
0
        public async Task Given_EditSubject_When_ValidModelPosted_Then_Server_Should_UpdateSubject()
        {
            using (var testServer = await CreateWithUserAsync())
            {
                var client            = testServer.CreateClient();
                var addSubjectCommand = await AddSubjectAsync(client);

                var units = await GetUnitListAsync(client);

                var subject = units.First(u => u.Id == addSubjectCommand.UnitId)
                              .Subjects.First(s => s.Name == addSubjectCommand.Name);
                var editSubjectCommand = new EditSubjectCommand(
                    Guid.NewGuid(),
                    subject.Id,
                    subject.Name + "_NEW");
                await client.PutAsync(
                    $"{ApiPath}/{addSubjectCommand.UnitId}/subjects",
                    editSubjectCommand.ToJsonContent());

                units = await GetUnitListAsync(client);

                units.Should().Contain(u => u.Id == addSubjectCommand.UnitId &&
                                       u.Subjects.Any(s => s.Name == editSubjectCommand.NewName));
                units.Should().NotContain(u => u.Id == addSubjectCommand.UnitId &&
                                          u.Subjects.Any(s => s.Name == addSubjectCommand.Name));

                var @event = Consumer.Instance.GetFirst <ISubjectChanged>();
                @event.NewName.Should().Be(editSubjectCommand.NewName);
            }
        }
Exemplo n.º 3
0
        public async Task <IActionResult> EditAsync([FromBody] EditSubjectRequest request,
                                                    CancellationToken token)
        {
            var command = new EditSubjectCommand(request.SubjectId, request.EnSubjectName, request.HeSubjectName);
            await _commandBus.DispatchAsync(command, token);

            return(Ok());
        }