<commit_before>package dk.bemyndigelsesregister.bemyndigelsesservice.web;

import com.trifork.dgws.util.SecurityHelper;
import dk.bemyndigelsesregister.bemyndigelsesservice.domain.*;
import dk.bemyndigelsesregister.bemyndigelsesservice.domain.Bemyndigelse;
import dk.bemyndigelsesregister.bemyndigelsesservice.server.BemyndigelseManager;
import dk.bemyndigelsesregister.bemyndigelsesservice.server.dao.*;
import dk.bemyndigelsesregister.shared.service.SystemService;
import dk.nsi.bemyndigelse._2012._05._01.*;
import org.hamcrest.Description;
import org.joda.time.DateTime;
import org.junit.Before;
import org.junit.Test;
import org.junit.internal.matchers.TypeSafeMatcher;
import org.springframework.ws.soap.SoapHeader;

import static java.util.Arrays.asList;
import static java.util.Collections.singletonList;
import static org.junit.Assert.*;
import static org.junit.internal.matchers.IsCollectionContaining.*;
import static org.mockito.Mockito.*;

public class BemyndigelsesServiceImplTest {
    BemyndigelsesServiceImpl service = new BemyndigelsesServiceImpl();
    BemyndigelseManager bemyndigelseManager = mock(BemyndigelseManager.class);
    BemyndigelseDao bemyndigelseDao = mock(BemyndigelseDao.class);
    ArbejdsfunktionDao arbejdsfunktionDao = mock(ArbejdsfunktionDao.class);
    StatusTypeDao statusTypeDao = mock(StatusTypeDao.class);
    RettighedDao rettighedDao = mock(RettighedDao.class);
    private final LinkedSystemDao linkedSystemDao = mock(LinkedSystemDao.class);
    SystemService systemService = mock(SystemService.class);
    SecurityHelper securityHelper = mock(SecurityHelper.class);

    SoapHeader soapHeader = mock(SoapHeader.class);
    private final DateTime now = new DateTime();

    final String kode = "UUID kode";
    final String bemyndigendeCpr = "BemyndigendeCpr";
    final String bemyndigedeCpr = "BemyndigedeCpr";
    final String bemyndigedeCvr = "BemyndigedeCvr";
    final String arbejdsfunktion = "Arbejdsfunktion";
    final String rettighedskode = "Rettighedskode";
    final String systemKode = "SystemKode";
    final String statusKode = "StatusKode";

    @Before
    public void setUp() throws Exception {
        service.bemyndigelseManager = bemyndigelseManager;
        service.bemyndigelseDao = bemyndigelseDao;
        service.systemService = systemService;
        service.securityHelper = securityHelper;
        service.arbejdsfunktionDao = arbejdsfunktionDao;
        service.statusTypeDao = statusTypeDao;
        service.rettighedDao = rettighedDao;
        service.linkedSystemDao = linkedSystemDao;
    }

    @Test
    public void canCreateBemyndigelseAndmodning() throws Exception {
        final Bemyndigelse bemyndigelse = createBemyndigelse(kode, null);

        when(bemyndigelseManager.opretAnmodningOmBemyndigelse(
                bemyndigendeCpr, bemyndigedeCpr, bemyndigedeCvr, arbejdsfunktion, rettighedskode, systemKode,
                null, null)).thenReturn(bemyndigelse);

        OpretAnmodningOmBemyndigelseRequest request = new OpretAnmodningOmBemyndigelseRequest() {{
            getAnmodninger().add(new Anmodninger() {{
                setBemyndigendeCpr("BemyndigendeCpr");
                setBemyndigedeCpr("BemyndigedeCpr");
                setBemyndigedeCvr("BemyndigedeCvr");
                setArbejdsfunktion("Arbejdsfunktion");
                setRettighed("Rettighedskode");
                setSystem("SystemKode");
            }});
        }};

        final OpretAnmodningOmBemyndigelseResponse response = service.opretAnmodningOmBemyndigelser(request, soapHeader);

        verify(bemyndigelseManager).opretAnmodningOmBemyndigelse(bemyndigendeCpr, bemyndigedeCpr, bemyndigedeCvr, arbejdsfunktion, rettighedskode, systemKode, null, null);

        assertEquals(1, response.getBemyndigelser().size());
        final dk.nsi.bemyndigelse._2012._05._01.Bemyndigelse responseBemyndigelse = response.getBemyndigelser().get(0);
        assertEquals(kode, responseBemyndigelse.getKode());
        assertEquals(bemyndigendeCpr, responseBemyndigelse.getBemyndigende());
        assertEquals(bemyndigedeCpr, responseBemyndigelse.getBemyndigede());
        assertEquals(arbejdsfunktion, responseBemyndigelse.getArbejdsfunktion());
        assertEquals(rettighedskode, responseBemyndigelse.getRettighedskode());<commit_msg>Smuk-ificeret test med Mockito DI<commit_after>package dk.bemyndigelsesregister.bemyndigelsesservice.web;

import com.trifork.dgws.util.SecurityHelper;
import dk.bemyndigelsesregister.bemyndigelsesservice.domain.*;
import dk.bemyndigelsesregister.bemyndigelsesservice.domain.Bemyndigelse;
import dk.bemyndigelsesregister.bemyndigelsesservice.server.BemyndigelseManager;
import dk.bemyndigelsesregister.bemyndigelsesservice.server.dao.*;
import dk.bemyndigelsesregister.shared.service.SystemService;
import dk.nsi.bemyndigelse._2012._05._01.*;
import org.hamcrest.Description;
import org.joda.time.DateTime;
import org.junit.Test;
import org.junit.internal.matchers.TypeSafeMatcher;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import org.springframework.ws.soap.SoapHeader;

import static java.util.Arrays.asList;
import static java.util.Collections.singletonList;
import static org.junit.Assert.*;
import static org.junit.internal.matchers.IsCollectionContaining.*;
import static org.mockito.Mockito.*;

@RunWith(MockitoJUnitRunner.class)
public class BemyndigelsesServiceImplTest {
    @InjectMocks
    BemyndigelsesServiceImpl service = new BemyndigelsesServiceImpl();

    @Mock BemyndigelseManager bemyndigelseManager;
    @Mock BemyndigelseDao bemyndigelseDao;
    @Mock ArbejdsfunktionDao arbejdsfunktionDao;
    @Mock StatusTypeDao statusTypeDao;
    @Mock RettighedDao rettighedDao;
    @Mock LinkedSystemDao linkedSystemDao;
    @Mock SystemService systemService;
    @Mock SecurityHelper securityHelper;

    SoapHeader soapHeader = mock(SoapHeader.class);
    private final DateTime now = new DateTime();

    final String kode = "UUID kode";
    final String bemyndigendeCpr = "BemyndigendeCpr";
    final String bemyndigedeCpr = "BemyndigedeCpr";
    final String bemyndigedeCvr = "BemyndigedeCvr";
    final String arbejdsfunktion = "Arbejdsfunktion";
    final String rettighedskode = "Rettighedskode";
    final String systemKode = "SystemKode";
    final String statusKode = "StatusKode";

    @Test
    public void canCreateBemyndigelseAndmodning() throws Exception {
        final Bemyndigelse bemyndigelse = createBemyndigelse(kode, null);

        when(bemyndigelseManager.opretAnmodningOmBemyndigelse(
                bemyndigendeCpr, bemyndigedeCpr, bemyndigedeCvr, arbejdsfunktion, rettighedskode, systemKode,
                null, null)).thenReturn(bemyndigelse);

        OpretAnmodningOmBemyndigelseRequest request = new OpretAnmodningOmBemyndigelseRequest() {{
            getAnmodninger().add(new Anmodninger() {{
                setBemyndigendeCpr("BemyndigendeCpr");
                setBemyndigedeCpr("BemyndigedeCpr");
                setBemyndigedeCvr("BemyndigedeCvr");
                setArbejdsfunktion("Arbejdsfunktion");
                setRettighed("Rettighedskode");
                setSystem("SystemKode");
            }});
        }};

        final OpretAnmodningOmBemyndigelseResponse response = service.opretAnmodningOmBemyndigelser(request, soapHeader);

        verify(bemyndigelseManager).opretAnmodningOmBemyndigelse(bemyndigendeCpr, bemyndigedeCpr, bemyndigedeCvr, arbejdsfunktion, rettighedskode, systemKode, null, null);

        assertEquals(1, response.getBemyndigelser().size());
        final dk.nsi.bemyndigelse._2012._05._01.Bemyndigelse responseBemyndigelse = response.getBemyndigelser().get(0);
        assertEquals(kode, responseBemyndigelse.getKode());
        assertEquals(bemyndigendeCpr, responseBemyndigelse.getBemyndigende());
        assertEquals(bemyndigedeCpr, responseBemyndigelse.getBemyndigede());
        assertEquals(arbejdsfunktion, responseBemyndigelse.getArbejdsfunktion());
        assertEquals(rettighedskode, responseBemyndigelse.getRettighedskode());
{'fraction_non_alphanumeric': 0.08503317768493487, 'fraction_numerical': 0.004423691324649791, 'mean_word_length': 4.663883089770355, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3147218', 'n_tokens_mistral': 2709, 'n_tokens_neox': 2661, 'n_words': 389}