@Test
  public void testUpdateMsisdnNumberAlreadyInUse() throws Exception {
    Long firstMsisdn = subscriptionHelper.makeNumber();
    Long secondMsisdn = subscriptionHelper.makeNumber();

    // create two child subscriptions with different MSISDNs
    Subscription firstSubscription =
        subscriptionHelper.mksub(
            SubscriptionOrigin.MCTS_IMPORT,
            DateTime.now(),
            SubscriptionPackType.CHILD,
            firstMsisdn);
    String firstChildId = "0123456789";
    firstSubscription.getSubscriber().setChild(new MctsChild(firstChildId));
    subscriberDataService.update(firstSubscription.getSubscriber());

    Subscription secondSubscription =
        subscriptionHelper.mksub(
            SubscriptionOrigin.MCTS_IMPORT,
            DateTime.now(),
            SubscriptionPackType.CHILD,
            secondMsisdn);
    String secondChildId = "9123456789";
    secondSubscription.getSubscriber().setChild(new MctsChild(secondChildId));
    subscriberDataService.update(secondSubscription.getSubscriber());

    // try to set the second child's MSISDN to the same number as the first child's MSISDN
    Reader reader =
        createUpdateReaderWithHeaders("1," + secondChildId + ",,,,,,,,,,,,," + firstMsisdn);
    mctsBeneficiaryUpdateService.updateBeneficiaryData(reader);

    List<SubscriptionError> errors = subscriptionErrorDataService.findByContactNumber(firstMsisdn);
    assertEquals(1, errors.size());
  }