public async Task <IActionResult> EditSubjectAsync(int unitId, EditSubjectCommand command) { command.UnitId = unitId; await _commandProcessor.SendAsync(command); return(Ok()); }
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); } }
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()); }