@Test
public void addingTheSameKindOfItemWithTheSameBrand_firesCartQuantityUpdatedEvent() {

    ShoppingCartItem firstItem = createItem(ProductType.PHONE_CASE, 2);
    ShoppingCartItem secondItem = createItem(ProductType.PHONE_CASE, 4);
    currentOrder.addItem(firstItem);
    Mockito.reset(eventBus);
    currentOrder.addItem(secondItem);
    ArgumentCaptor<ShoppingCartQuantityChangeEvent> captor =
            ArgumentCaptor.forClass(ShoppingCartQuantityChangeEvent.class);
    verify(eventBus).fireEventFromSource(captor.capture(), same(currentOrder));
    assertThat(captor.getValue().getExistingItem()).isEqualTo(secondItem);
    assertThat(captor.getValue().getNewQuantity()).isEqualTo(6);
}