public async Task Update_Advert_Command_Should_Update_Entity_Title_And_Description() { var user = new User(Guid.NewGuid(), "*****@*****.**"); await _dbFixture.InsertAsync(user); var category = new Category(Guid.NewGuid(), user.Id); await _dbFixture.InsertAsync(category); string advertDescription = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum bibendum purus et libero vulputate elementum."; var advert = new Advert(Guid.NewGuid(), "Test Advert Name", advertDescription, user.Id, category.Id, null); await _dbFixture.InsertAsync(advert); string newDescription = "Vestibulum bibendum purus et libero vulputate elementum. Quisque hendrerit risus turpis, vitae tristique urna feugiat nec."; var command = new UpdateAdvert(advert.Id, "Updated Ad Title", newDescription, advert.Creator); var updateTask = await _rabbitMqFixture.SubscribeAndGetAsync <AdvertUpdated, Advert>(_dbFixture.GetEntityTask, command.Id); await _rabbitMqFixture.PublishAsync(command); var updatedEntity = await updateTask.Task; updatedEntity.ShouldNotBeNull(); updatedEntity.Title.ShouldBe(command.Title); updatedEntity.Description.ShouldBe(command.Description); }
public async Task <IActionResult> UpdateAdvert(Guid id, [FromBody] UpdateAdvert command) { if (!ModelState.IsValid) { return(BadRequest(command)); } return(await SendAsync(command.Bind(c => c.Id, id).Bind(c => c.UserId, UserId), resourceId : command.Id, resource : "adverts")); }