    @Test
    public void shouldCreateEncounterEntityWithAppropriateValues() throws ProviderController.ProviderLoadException, FormController.FormFetchException {

        Date encounterDateTime = new Date();
        final String formUuid = "formUuid";
        String providerId = "providerId";
        int locationId = 1;
        String userSystemId = "userSystemId";

        final EncounterType encounterType = new EncounterType(){{
            setUuid("encounterTypeForObservationsCreatedOnPhone");
        }};
        Form form = new Form(){{
            setUuid(formUuid);
            setEncounterType(encounterType);
        }};

        List<Provider> providers = new ArrayList<Provider>() {{
            add(new Provider() {{
                setUuid("provider1");
            }});
        }};


        when(providerController.getAllProviders()).thenReturn(providers);
        when(formController.getFormByUuid(formUuid)).thenReturn(form);
        Encounter encounter = observationParserUtility.getEncounterEntity(encounterDateTime, formUuid,providerId, locationId, userSystemId, patient, formDataUuid);
        assertTrue(encounter.getUuid().startsWith("encounterUuid"));
        assertThat(encounter.getEncounterType().getUuid(), is(form.getEncounterType().getUuid()));
        assertThat(encounter.getProvider().getUuid(), is("providerForObservationsCreatedOnPhone"));
        assertThat(encounter.getEncounterDatetime(), is(encounterDateTime));
    }