Ejemplo n.º 1
0
def test_geocomplete_limit():
    usa_code = mommy.make('references.RefCountryCode',
                          country_code="USA",
                          country_name="United States",
                          _fill_optional=True)
    locations = mommy.make('references.Location',
                           location_country_code=usa_code,
                           _fill_optional=True,
                           _quantity=50)

    response_10 = GeoCompleteHandler({
        "value": "a",
        "limit": 10
    }).build_response()
    response_25 = GeoCompleteHandler({
        "value": "a",
        "limit": 25
    }).build_response()
    response_50 = GeoCompleteHandler({
        "value": "a",
        "limit": 50
    }).build_response()

    assert len(response_10) == 10
    assert len(response_25) == 25
    assert len(response_50) == 50
Ejemplo n.º 2
0
def test_geocomplete_congressional_codes():
    usa_code = mommy.make('references.RefCountryCode',
                          country_code="USA",
                          country_name="United States",
                          _fill_optional=True)
    locations = mommy.make('references.Location',
                           location_country_code=usa_code,
                           congressional_code="00",
                           state_code="VA",
                           _fill_optional=True)
    locations = mommy.make('references.Location',
                           location_country_code=usa_code,
                           congressional_code="01",
                           state_code="VA",
                           _fill_optional=True)
    locations = mommy.make('references.Location',
                           location_country_code=usa_code,
                           congressional_code="02",
                           state_code="VA",
                           _fill_optional=True)
    locations = mommy.make('references.Location',
                           location_country_code=usa_code,
                           congressional_code="00",
                           state_code="UT",
                           _fill_optional=True)

    response_va = GeoCompleteHandler({"value": "VA-"}).build_response()
    response_ut = GeoCompleteHandler({"value": "UT-"}).build_response()
    response_va00 = GeoCompleteHandler({"value": "VA-00"}).build_response()

    assert len(response_va) == 3
    assert len(response_ut) == 1
    assert len(response_va00) == 1
Ejemplo n.º 3
0
def test_geocomplete_limit():
    mommy.make(
        "references.Location",
        location_country_code="USA",
        country_name="United States",
        state_name="Pennsylvania",
        state_code="PA",
        city_name="Altoona",
        county_name="Lakawana",
        _quantity=50,
    )

    response_2 = GeoCompleteHandler({
        "value": "a",
        "limit": 2
    }).build_response()
    response_4 = GeoCompleteHandler({
        "value": "a",
        "limit": 4
    }).build_response()
    response_5 = GeoCompleteHandler({
        "value": "a",
        "limit": 5
    }).build_response()

    assert len(response_2) == 2
    assert len(response_4) == 4
    assert len(response_5) == 5
Ejemplo n.º 4
0
def test_geocomplete_scope():
    usa_code = mommy.make('references.RefCountryCode',
                          country_code="USA",
                          country_name="United States",
                          _fill_optional=True)
    can_code = mommy.make('references.RefCountryCode',
                          country_code="CAN",
                          country_name="Canada",
                          _fill_optional=True)

    usa_location = mommy.make('references.Location',
                              location_country_code=usa_code)
    can_location = mommy.make('references.Location',
                              location_country_code=can_code)

    no_scope_response = GeoCompleteHandler({"value": "a"}).build_response()
    domestic_response = GeoCompleteHandler({
        "value": "a",
        "scope": "domestic"
    }).build_response()
    foreign_response = GeoCompleteHandler({
        "value": "a",
        "scope": "foreign"
    }).build_response()
    assert len(no_scope_response) == 2
    assert domestic_response[0]["place"] == "United States"
    assert len(domestic_response) == 1
    assert foreign_response[0]["place"] == "Canada"
    assert len(foreign_response) == 1
Ejemplo n.º 5
0
def test_geocomplete_congressional_codes():
    mommy.make("references.Location",
               location_country_code="USA",
               congressional_code="00",
               state_code="VA")
    mommy.make("references.Location",
               location_country_code="USA",
               congressional_code="01",
               state_code="VA")
    mommy.make("references.Location",
               location_country_code="USA",
               congressional_code="02",
               state_code="VA")
    mommy.make("references.Location",
               location_country_code="USA",
               congressional_code="00",
               state_code="UT")

    response_va = GeoCompleteHandler({"value": "VA-"}).build_response()
    response_ut = GeoCompleteHandler({"value": "UT-"}).build_response()
    response_va00 = GeoCompleteHandler({"value": "VA-00"}).build_response()

    assert len(response_va) == 3
    assert len(response_ut) == 1
    assert len(response_va00) == 1
Ejemplo n.º 6
0
def test_geocomplete_limit():
    usa_code = mommy.make('references.RefCountryCode',
                          country_code="USA",
                          country_name="United States",
                          _fill_optional=True)
    locations = mommy.make('references.Location',
                           location_country_code=usa_code,
                           state_name='Pennsylvania',
                           state_code='PA',
                           city_name='Altoona',
                           county_name='Lakawana',
                           _quantity=50)

    response_2 = GeoCompleteHandler({
        "value": "a",
        "limit": 2
    }).build_response()
    response_4 = GeoCompleteHandler({
        "value": "a",
        "limit": 4
    }).build_response()
    response_5 = GeoCompleteHandler({
        "value": "a",
        "limit": 5
    }).build_response()

    assert len(response_2) == 2
    assert len(response_4) == 4
    assert len(response_5) == 5
Ejemplo n.º 7
0
def test_geocomplete_usage_flag():
    mommy.make(
        "references.Location",
        location_country_code="USA",
        country_name="United States",
        place_of_performance_flag=True,
        recipient_flag=False,
        state_code="VA",
    )
    mommy.make(
        "references.Location",
        location_country_code="USA",
        country_name="United States",
        place_of_performance_flag=True,
        recipient_flag=False,
        state_code="AZ",
    )
    mommy.make(
        "references.Location",
        location_country_code="USA",
        country_name="United States",
        place_of_performance_flag=False,
        recipient_flag=True,
        state_code="VA",
    )
    mommy.make(
        "references.Location",
        location_country_code="USA",
        country_name="United States",
        place_of_performance_flag=False,
        recipient_flag=True,
        state_code="AZ",
    )
    mommy.make(
        "references.Location",
        location_country_code="USA",
        country_name="United States",
        place_of_performance_flag=False,
        recipient_flag=True,
        state_code="LA",
    )

    response_pop = GeoCompleteHandler({
        "value": "a",
        "usage": "place_of_performance"
    }).build_response()
    response_recipient = GeoCompleteHandler({
        "value": "a",
        "usage": "recipient"
    }).build_response()

    assert Location.objects.count() == 5
    assert Location.objects.filter(place_of_performance_flag=True).count() == 2
    assert Location.objects.filter(recipient_flag=True).count() == 3
    assert len(response_recipient) == 4
    assert len(response_pop) == 3
Ejemplo n.º 8
0
    def post(self, request, format=None):
        try:
            body_unicode = request.body.decode('utf-8')
            body = json.loads(body_unicode)
            gc = GeoCompleteHandler(body)
            response_data = gc.build_response()
        except Exception as e:
            return Response({"message": str(e)}, status=status.HTTP_400_BAD_REQUEST)

        return Response(response_data)
Ejemplo n.º 9
0
def test_geocomplete_scope():
    mommy.make('references.Location', location_country_code="USA", country_name="United States")
    mommy.make('references.Location', location_country_code="CAN", country_name="Canada")

    no_scope_response = GeoCompleteHandler({"value": "a"}).build_response()
    domestic_response = GeoCompleteHandler({"value": "a", "scope": "domestic"}).build_response()
    foreign_response = GeoCompleteHandler({"value": "a", "scope": "foreign"}).build_response()
    assert len(no_scope_response) == 2
    assert domestic_response[0]["place"] == "United States"
    assert len(domestic_response) == 1
    assert foreign_response[0]["place"] == "Canada"
    assert len(foreign_response) == 1
Ejemplo n.º 10
0
    def post(self, request, geocomplete=False, format=None):
        try:
            body_unicode = request.body.decode('utf-8')
            body = json.loads(body_unicode)
            response_data = None
            if not geocomplete:
                dq = DataQueryHandler(Location, LocationSerializer, body)
                response_data = dq.build_response()
            else:
                gc = GeoCompleteHandler(body)
                response_data = gc.build_response()
        except Exception as e:
            return Response({"message": str(e)},
                            status=status.HTTP_400_BAD_REQUEST)

        return Response(response_data)
Ejemplo n.º 11
0
def test_geocomplete_usage_flag():
    usa_code = mommy.make('references.RefCountryCode',
                          country_code="USA",
                          country_name="United States",
                          _fill_optional=True)
    loc_va = mommy.make('references.Location',
                        location_country_code=usa_code,
                        place_of_performance_flag=True,
                        recipient_flag=False,
                        state_code="VA")
    loc_az = mommy.make('references.Location',
                        location_country_code=usa_code,
                        place_of_performance_flag=True,
                        recipient_flag=False,
                        state_code="AZ")
    loc2_va = mommy.make('references.Location',
                         location_country_code=usa_code,
                         place_of_performance_flag=False,
                         recipient_flag=True,
                         state_code="VA")
    loc2_az = mommy.make('references.Location',
                         location_country_code=usa_code,
                         place_of_performance_flag=False,
                         recipient_flag=True,
                         state_code="AZ")
    loc2_la = mommy.make('references.Location',
                         location_country_code=usa_code,
                         place_of_performance_flag=False,
                         recipient_flag=True,
                         state_code="LA")

    response_pop = GeoCompleteHandler({
        "value": "a",
        "usage": "place_of_performance"
    }).build_response()
    response_recipient = GeoCompleteHandler({
        "value": "a",
        "usage": "recipient"
    }).build_response()

    assert Location.objects.count() == 5
    assert Location.objects.filter(place_of_performance_flag=True).count() == 2
    assert Location.objects.filter(recipient_flag=True).count() == 3
    assert len(response_recipient) == 4
    assert len(response_pop) == 3