@Test public void commandShouldBePreparedProperly() { Capture<CreateEntity> cmd = new Capture<CreateEntity>(); expectDispatch(new GetSchema(), schema); captureDispatch(cmd); replay(dispatcher); UserDatabaseDTO newDb = new UserDatabaseDTO(); newDb.setCountry(new CountryDTO(31, "Haiti")); newDb.setName("My Db"); createPresenter(); presenter.save(newDb, niceFormDialogMock()); assertTrue("command was dispatched", cmd.hasCaptured()); assertThat((Integer) cmd.getValue().getProperties().get("countryId"), is(equalTo(31))); }