public void Post_ApproveBookOrder_WhenBookOrderIsNew_ShouldApproveBookOrder() { BookOrder bookOrder = BookOrder.CreateNew("SupplierFoo", Guid.NewGuid()); bookOrder.State.Should().Be(BookOrderState.New); BookOrderRepositoryInMemory.Store(bookOrder); StartServer(); // act var result = Client.Post($"bookOrders/{bookOrder.Id}/approve", null); // assert result.StatusCode.Should().Be(HttpStatusCode.OK); var storedBookOrder = BookOrderRepositoryInMemory.Get(bookOrder.Id); storedBookOrder.State.Should().Be(BookOrderState.Approved); }
public void Post_SendBookOrder_WhenBookOrderIsApproved_ShouldSendBookOrder() { BookOrder bookOrder = BookOrder.CreateNew("SupplierFoo", Guid.NewGuid()); bookOrder.Approve(); BookOrderRepositoryInMemory.Store(bookOrder); StartServer(); // act var result = Client.Post($"bookOrders/{bookOrder.Id}/send", null); // assert result.StatusCode.Should().Be(HttpStatusCode.OK); var storedBookOrder = BookOrderRepositoryInMemory.Get(bookOrder.Id); storedBookOrder.State.Should().Be(BookOrderState.Sent); BookSupplierGatewayInMemory.SentBookOrders.Count().Should().Be(1); BookSupplierGatewayInMemory.SentBookOrders[0].Id.Should().Be(bookOrder.Id); BookSupplierGatewayInMemory.SentBookOrders[0].State.Should().Be(BookOrderState.Sent); }