In Ports and Adapters (Hexagonal) Architecture you have:

```
DrivingAdapter -> InboundPort <- [ domain ] -> OutboundPort <- DrivenAdapter

```

***note: of course the ports are part of the domain***

A concrete example of this could be:

```
WebController -> OrderServicePort [ order domain ] -> OrderRepositoryPort <- MongoDbOrderRepositoryAdapter

```

So the idea behind Ports and Adapters Architecture is the you test your domain separately from the concrete adapters at the edges of the application.

What I don't get is how exposing an interface Port on the left side is useful for testability?

WebController has no significant logic so would not be a test target per se and would be tested as part of end to end testing. So I would not mock the OrderServicePort as it normally would be my test subject.

Of course there is value in InboundPorts in that they only expose a simplified view of the concrete domain class that implements it.

But I can't see where the increased testability comes from by using InboundPorts.

Agree?