Skip to content

Instantly share code, notes, and snippets.

@mmalmeida
Created November 11, 2011 17:00
Show Gist options
  • Save mmalmeida/1358545 to your computer and use it in GitHub Desktop.
Save mmalmeida/1358545 to your computer and use it in GitHub Desktop.
private static final String DEACTIVATE = "deactivate";
private static final String ACTIVATE = "activate";
@Before
public void setUp() {
super.setUp();
}
@Test
public void activationAndDeactivationTest() {
//isCodeUsed,action,errorExpected
assertActivationStatusToggle(false, DEACTIVATE, null);
assertActivationStatusToggle(true, DEACTIVATE,"Code cannot be deactivated");
assertActivationStatusToggle(false, ACTIVATE, null);
}
private void assertActivationStatusToggle(boolean usedCode, String action,
String expectedError) {
Code code = new CodeImpl();
sessionFactory.getCurrentSession().save(code);
if (action.equals(ACTIVATE)) {
code.setActive(false);
}
boolean previousActiveState = code.isActive();
if(usedCode){
code.setPatientInitials("AAA");
}
try {
clinicalTrialService.toggleCodeActiveStatus(code);
if (expectedError != null && !expectedError.isEmpty()) {
fail("Should have failed but didn't");
}
assertEquals(!previousActiveState, code.isActive());
} catch (IWRSCheckedException e) {
if (expectedError == null || expectedError.isEmpty()) {
fail("Unexpected error while toggling. Shouldn't have failed");
}
assertEquals(previousActiveState, code.isActive());
assertTrue("Doesn't contain expected message", e.getMessage()
.contains(expectedError));
}
}
@mmalmeida
Copy link
Author

goes along with:

Scenario Outline: Only unused codes can be deactivated

    Given the code has been used: <Used>
    When I <Action> the code
    Then the activation result is: <Result>

    Examples:
    |  Used  |  Action  |  Result  |
    |no|deactivate|Deactivated|
    |yes|deactivate|Code cannot be deactivated|
    |no|deactivate|User cannot deactivate|
    |no|activate|Activated|

@mmalmeida
Copy link
Author

@ExpectedException(type=MyException.class, variable=myE)
@when(...)
public void when(){}

@then
public void then(){
assertNotNull(e);
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment