Add fallback email to me dto

This commit is contained in:
René Pfeuffer
2020-10-13 08:51:48 +02:00
parent 343d0b9425
commit 7fc7e33c0c
4 changed files with 38 additions and 6 deletions

View File

@@ -21,7 +21,7 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package sonia.scm.api.v2.resources;
import com.google.common.collect.ImmutableSet;
@@ -38,9 +38,9 @@ import org.mockito.junit.jupiter.MockitoSettings;
import org.mockito.quality.Strictness;
import sonia.scm.SCMContext;
import sonia.scm.group.GroupCollector;
import sonia.scm.user.EMail;
import sonia.scm.user.User;
import sonia.scm.user.UserManager;
import sonia.scm.user.UserPermissions;
import sonia.scm.user.UserTestData;
import java.net.URI;
@@ -65,13 +65,16 @@ class MeDtoFactoryTest {
@Mock
private Subject subject;
@Mock
private EMail eMail;
private MeDtoFactory meDtoFactory;
@BeforeEach
void setUpContext() {
ThreadContext.bind(subject);
ResourceLinks resourceLinks = ResourceLinksMock.createMock(baseUri);
meDtoFactory = new MeDtoFactory(resourceLinks, userManager, groupCollector);
meDtoFactory = new MeDtoFactory(resourceLinks, userManager, groupCollector, eMail);
}
@AfterEach
@@ -235,4 +238,17 @@ class MeDtoFactoryTest {
MeDto dto = meDtoFactory.create();
assertThat(dto.getLinks().getLinkBy("profile").get().getHref()).isEqualTo("http://hitchhiker.com/users/trillian");
}
@Test
void shouldUserGeneratedMailOnlyWhenUserHasNone() {
User user = UserTestData.createTrillian();
user.setMail(null);
prepareSubject(user);
when(eMail.createFallbackMailAddress(user)).thenReturn("trillian@hitchhiker.local");
MeDto dto = meDtoFactory.create();
assertThat(dto.getMail()).isNull();
assertThat(dto.getFallbackMail()).isEqualTo("trillian@hitchhiker.local");
}
}