Skip to content

Instantly share code, notes, and snippets.

@simcap
Created September 13, 2012 08:46
Show Gist options
  • Save simcap/3712963 to your computer and use it in GitHub Desktop.
Save simcap/3712963 to your computer and use it in GitHub Desktop.
Unit tests - Good & bad
public class SetCarrierServiceFacadeTest {
@InjectMocks
private SetCarrierServiceFacade facade;
@Mock
private CarrierService carrierService;
@Mock
private UserContactPointService userContactPointService;
@Mock
private UserService userService;
@Mock
private PreferenceService preferenceService;
@Mock
private MessageService messageService;
@Test(expected = IllegalStateException.class)
public void should_throw_exception_when_formatting_carrier_number_when_selecting_a_carrier() throws Exception {
String formattedMsisdn = "+336454989181";
Long userId = 45L;
UserEntity user = new UserEntityBuilder().userId(userId).build();
List<CarrierPhoneNumberEntity> carrierPhoneNumbers = new ArrayList<CarrierPhoneNumberEntity>();
Integer weight = 40;
CarrierPhoneNumberEntity carrierPhoneNumber = new CarrierPhoneNumberEntityBuilder()
.type(CarrierPhoneNumberType.ACTIVATION).phoneNumber("ERTYUI").weight(weight).expired(true).build();
carrierPhoneNumbers.add(carrierPhoneNumber);
user.setCarrierPhoneNumbers(carrierPhoneNumbers);
Long carrierId = 453L;
CarrierEntity carrier = new CarrierEntity();
carrier.setId(carrierId);
List<CarrierPhoneNumberEntity> phoneNumbers = new ArrayList<CarrierPhoneNumberEntity>();
phoneNumbers.add(new CarrierPhoneNumberEntityBuilder().type(CarrierPhoneNumberType.ACTIVATION)
.phoneNumber("ZEDFGHJ").weight(weight).expired(false).build());
phoneNumbers.add(new CarrierPhoneNumberEntityBuilder().type(CarrierPhoneNumberType.DEACTIVATION)
.phoneNumber("ddfzeazedf").weight(weight).expired(false).build());
carrier.setPhoneNumbers(phoneNumbers);
carrierPhoneNumber.setCarrier(carrier);
when(carrierService.findById(carrierId)).thenReturn(carrier);
when(userService.findLegacyUserIdByValidatedContactPoint(formattedMsisdn)).thenReturn(userId);
when(userService.findByIdWithCarrierPhoneNumbers(userId)).thenReturn(user);
facade.selectCarrier(carrierId, formattedMsisdn, null);
}
@Test
public void should_set_last_carrier_number_on_expired() throws Exception {
String contact_Point = "+1234567890";
Long userId = 1234L;
Long carrierId = 42L;
UserEntity userVox = new UserEntityBuilder().userId(userId).build();
List<CarrierPhoneNumberEntity> carrierPhoneNumbers = new ArrayList<CarrierPhoneNumberEntity>();
CarrierPhoneNumberEntity carrierPhoneNumber = new CarrierPhoneNumberEntityBuilder()
.type(CarrierPhoneNumberType.ACTIVATION).phoneNumber("ERTYUI").weight(40).expired(true).build();
carrierPhoneNumbers.add(carrierPhoneNumber);
userVox.setCarrierPhoneNumbers(carrierPhoneNumbers);
CarrierEntity carrier = new CarrierEntity();
carrier.setId(carrierId);
List<CarrierPhoneNumberEntity> phoneNumbers = new ArrayList<CarrierPhoneNumberEntity>();
phoneNumbers.add(new CarrierPhoneNumberEntityBuilder().type(CarrierPhoneNumberType.ACTIVATION)
.phoneNumber("ZEDFGHJ").weight(50).expired(false).build());
phoneNumbers.add(new CarrierPhoneNumberEntityBuilder().type(CarrierPhoneNumberType.DEACTIVATION)
.phoneNumber("ddfdf").weight(50).expired(false).build());
phoneNumbers.add(new CarrierPhoneNumberEntityBuilder().type(CarrierPhoneNumberType.CONSULTATION)
.phoneNumber("45678HG").weight(50).expired(false).build());
carrier.setPhoneNumbers(phoneNumbers);
carrierPhoneNumber.setCarrier(carrier);
when(carrierService.findById(carrierId)).thenReturn(carrier);
when(userService.findLegacyUserIdByValidatedContactPoint(contact_Point)).thenReturn(userId);
when(userService.findByIdWithCarrierPhoneNumbers(userId)).thenReturn(userVox);
String accessCode = "8888";
when(preferenceService.getVmsAccessCode(userVox)).thenReturn(accessCode);
ApplicationEntity applicationEntity = new ApplicationEntityBuilder().id(26000L).name(IPHONE_ON).build();
facade.selectCarrier(carrierId, contact_Point, applicationEntity);
verify(userContactPointService).setCarrierForValidatedContactPoint(contact_Point, carrier);
List<CarrierPhoneNumberEntity> carrierPhoneNumbers2 = userVox.getCarrierPhoneNumbers();
assertEquals(3, carrierPhoneNumbers2.size());
assertEquals("ZEDFGHJ", carrierPhoneNumbers2.get(0).getPhoneNumber());
assertEquals("ddfdf", carrierPhoneNumbers2.get(1).getPhoneNumber());
assertEquals("45678HG", carrierPhoneNumbers2.get(2).getPhoneNumber());
verify(messageService)
.createOnSystemMessage(userVox, "#web#VOICEMAIL_BOX_CREATED_TEXT_VOICEFEED", accessCode);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment