public void Sample_WhenCreatingInvalidSampleData_ThenExceptionIsThrown(string url) { // given var command = new AddSampleCommand { Name = "test" }; // when then Should.Throw <DomainException>(() => Client.PostAsync(url, command)).Message.ShouldContain("is not allowed"); }
public async Task <ActionResult <SampleDto> > AddSample([FromBody] SampleForCreationDto sampleForCreation) { // add error handling var command = new AddSampleCommand(sampleForCreation); var commandResponse = await _mediator.Send(command); var response = new Response <SampleDto>(commandResponse); return(CreatedAtRoute("GetSample", new { commandResponse.SampleId }, response)); }
public async Task Sample_WhenCreatingDuplicatedSampleData_ThenExceptionIsThrown(string url) { // given var command1 = new AddSampleCommand { Name = "Ble" }; var command2 = new AddSampleCommand { Name = "Ble" }; // when var httpResponse1 = await Client.PostAsync(url, command1); httpResponse1.EnsureSuccessStatusCode(); // then Should.Throw <DomainException>(() => Client.PostAsync(url, command2)).Message.ShouldContain("already exist"); }
public async Task AddSampleCommand_Adds_New_Sample_To_Db() { // Arrange var fakeSampleOne = new FakeSampleForCreationDto { }.Generate(); // Act var command = new AddSampleCommand(fakeSampleOne); var sampleReturned = await SendAsync(command); var sampleCreated = await ExecuteDbContextAsync(db => db.Samples.SingleOrDefaultAsync()); // Assert sampleReturned.Should().BeEquivalentTo(fakeSampleOne, options => options.ExcludingMissingMembers()); sampleCreated.Should().BeEquivalentTo(fakeSampleOne, options => options.ExcludingMissingMembers()); }
public async Task Sample_WhenCreatingSampleData_ThenIsAddedToDatabase(string url) { // given var command = new AddSampleCommand { Name = "Ble" }; // when var httpResponse = await Client.PostAsync(url, command); // then httpResponse.EnsureSuccessStatusCode(); GetContext(dbContext => { var result = dbContext.Samples.First(x => x.Name == "Ble"); result.CreatedBy.ShouldBe("1a2b3c"); result.CreatedOn.ShouldBe(DateTime.Now, TimeSpan.FromSeconds(1)); result.UpdatedBy.ShouldBeNull(); result.UpdatedOn.ShouldBeNull(); }); }
public async Task <IActionResult> AddSamples([FromBody] AddSampleCommand command) { await _commandDispatcher.Dispatch(command); return(Ok()); }