Created
September 13, 2012 08:46
-
-
Save simcap/3712963 to your computer and use it in GitHub Desktop.
Unit tests - Good & bad
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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