package com.constellio.app.modules.rm.model.calculators.folder;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.when;
import org.junit.Test;
import org.mockito.Mock;
import com.constellio.model.entities.calculators.CalculatorParameters;
import com.constellio.model.entities.calculators.CalculatorParametersValidatingDependencies;
import com.constellio.sdk.tests.ConstellioTest;
public class FolderConfidentialCalculatorTest extends ConstellioTest {
@Mock CalculatorParameters parameters;
Boolean ruleConfidentialStatus;
@Test
public void givenRuleHasNoConfidentialStatusThenFolderNotConfidential()
throws Exception {
ruleConfidentialStatus = null;
assertThat(calculate()).isEqualTo(false);
}
@Test
public void givenRuleHasConfidentialStatusToTrueThenFolderNotConfidential()
throws Exception {
ruleConfidentialStatus = true;
assertThat(calculate()).isEqualTo(true);
}
@Test
public void givenRuleHasConfidentialStatusToFalseThenFolderNotConfidential()
throws Exception {
ruleConfidentialStatus = false;
assertThat(calculate()).isEqualTo(false);
}
//--------------------------------------------
private boolean calculate() {
FolderConfidentialCalculator calculator = new FolderConfidentialCalculator();
when(parameters.get(calculator.retentionRuleConfidentialParam)).thenReturn(ruleConfidentialStatus);
calculator.calculate(parameters);
return calculator.calculate(new CalculatorParametersValidatingDependencies(parameters, calculator));
}
}