public void Post_should_return_created_response() { // Arrange var invoice = new UpdateInvoiceBuilder().Build(); var domainInvoice = new InvoiceBuilder().Build(); var getInvoice = new GetInvoiceBuilder().Build(); invoiceRepositoryMock.Setup(r => r.Create(It.IsAny <Domain.Invoice>())).Returns(domainInvoice); getInvoiceMapperMock.Setup(mapper => mapper.ToModel(domainInvoice)).Returns(getInvoice); // Act var response = testSubject.Post(invoice); // Assert Assert.IsType <CreatedAtRouteResult>(response); }
public void Post_should_return_ETag() { // Arrange var invoice = new UpdateInvoiceBuilder().Build(); var domainInvoice = new InvoiceBuilder().Build(); var getInvoice = new GetInvoiceBuilder().Build(); invoiceRepositoryMock.Setup(r => r.Create(It.IsAny <Domain.Invoice>())).Returns(domainInvoice); getInvoiceMapperMock.Setup(mapper => mapper.ToModel(domainInvoice)).Returns(getInvoice); // Act testSubject.Post(invoice); // Assert var headers = testSubject.Response.GetTypedHeaders(); Assert.NotNull(headers.ETag); }
public void Get_should_return_invoice() { // Arrange var invoice = new InvoiceBuilder().Build(); invoiceRepositoryMock.Setup(r => r.Get(Id)).Returns(invoice); var expected = new GetInvoiceBuilder().Build(); getInvoiceMapperMock.Setup(map => map.ToModel(invoice)).Returns(expected); // Act var response = testSubject.Get(Id) as ObjectResult; // Assert Assert.IsType <GetInvoice>(response.Value); Assert.Equal((int)HttpStatusCode.OK, response.StatusCode.Value); Assert.Equal(expected, response.Value); }
public void Get_should_have_ETag_header() { // Arrange var invoice = new InvoiceBuilder().Build(); invoiceRepositoryMock.Setup(r => r.Get(Id)).Returns(invoice); var expected = new GetInvoiceBuilder().Build(); getInvoiceMapperMock.Setup(map => map.ToModel(invoice)).Returns(expected); // Act testSubject.Get(Id); // Assert var headers = testSubject.Response.GetTypedHeaders(); Assert.NotNull(headers.ETag); }
public void Get_should_return_NotModified_when_ETag_match_current_version() { // Arrange var invoice = new InvoiceBuilder().Build(); invoiceRepositoryMock.Setup(r => r.Get(Id)).Returns(invoice); var expected = new GetInvoiceBuilder().Build(); getInvoiceMapperMock.Setup(map => map.ToModel(invoice)).Returns(expected); testSubject.Request.Headers.Add(HeaderNames.IfNoneMatch, $"\"{Guid.Empty}\""); // Act var response = testSubject.Get(Id) as StatusCodeResult; // Assert Assert.Equal(StatusCodes.Status304NotModified, response.StatusCode); }