### Question:
SubscriptionUpdaterImpl implements SubscriptionUpdater { @Override public boolean updateSubscriptions(Account account, ServiceLevel currentServiceLevel, ServiceLevel newServiceLevel, boolean sendNotifications) throws SubscriptionUpdateException { Set<Place> places = account.getPlaceIDs().stream() .map(id -> placeDao.findById(id)) .filter(p -> p != null && p.getServiceLevel() == currentServiceLevel) .collect(toSet()); return updateSubscriptions(account, places, newServiceLevel, sendNotifications); } @Inject  SubscriptionUpdaterImpl(AccountDAO accountDao, PlaceDAO placeDao, BillingClient billingClient, SubscriptionManager subscriptionManager, PlatformMessageBus platformBus); @Override boolean updateSubscription(Account account, Place place, ServiceLevel serviceLevel, Map<String, Boolean> addons, boolean sendNotifications); @Override boolean updateSubscriptions(Account account, ServiceLevel currentServiceLevel, ServiceLevel newServiceLevel, boolean sendNotifications); @Override boolean updateSubscriptions(Account account, Set<Place> places, ServiceLevel serviceLevel, boolean sendNotifications); @Override void processDelinquentAccount(Account account); @Override void removeSubscriptionForPlace(Account account, Place place);  }### Answer:
@Test(expected = SubscriptionUpdateException.class) public void testUpdateSubscriptions_fail_duetonobilling() throws SubscriptionUpdateException { Account account = new Account(); account.setId(ACCOUNT_ID); account.setPlaceIDs(ImmutableSet.of(PLACE_ID_1)); Place place1 = new Place(); place1.setId(PLACE_ID_1); place1.setServiceLevel(PREMIUM_PROMON); place1.setServiceAddons(ImmutableSet.of(CELLBACKUP.name())); Map<UUID, Place> places = ImmutableMap.of(place1.getId(), place1); Map<UUID, Place> affectedPlaces = ImmutableMap.of(place1.getId(), place1); IrisSubscription unaffectedPlacesSubscription = IrisSubscription.builder() .create(); for (UUID placeId : account.getPlaceIDs()) { expect(mockPlaceDao.findById(placeId)).andReturn(places.get(placeId)); } UUID[] placeIds = affectedPlaces.values().stream().collect(toSet()).stream().map(Place::getId).toArray(UUID[]::new); expect(mockSubscriptionManager.collectPlacesForAccount(account, placeIds)).andReturn(null); expect(mockSubscriptionManager.extractSubscription(anyObject())).andReturn(unaffectedPlacesSubscription); for (Place affectedPlace : affectedPlaces.values()) { mockPlaceDao.setUpdateFlag(affectedPlace.getId(), true); expectLastCall(); } replay(); componentUnderTest.updateSubscriptions(account, PREMIUM_PROMON, PREMIUM_PROMON_ANNUAL); }