Skip to content
This repository has been archived by the owner on Mar 24, 2021. It is now read-only.

Commit

Permalink
Make creating a transform optional.
Browse files Browse the repository at this point in the history
  • Loading branch information
leenagupte committed Apr 22, 2015
1 parent bea2340 commit eb9703f
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 18 deletions.
40 changes: 23 additions & 17 deletions application/controllers/digital_take_up.py
Original file line number Diff line number Diff line change
Expand Up @@ -139,14 +139,15 @@ def channel_options(admin_client, uuid):
module_config = get_module_config_for_digital_takeup(
owning_organisation)

data_group, data_set, module = create_dataset_and_module(
create_dataset_and_module(
'transactions-by-channel',
admin_client,
uuid,
session['upload_choice'],
'single_timeseries',
module_config,
dashboard["slug"]
dashboard["slug"],
'digital-takeup'
)

return redirect(url_for('upload_digital_take_up_data_file',
Expand Down Expand Up @@ -188,41 +189,46 @@ def make_csv():
return csv


def create_dataset_and_module(data_type,
def create_dataset_and_module(input_data_type,
admin_client,
uuid,
period,
module_type,
module_config,
data_group_name):
data_group_name,
output_data_type=None):

# DATA GROUP
data_group = get_or_create_data_group(
admin_client, data_group_name, data_type, uuid)
admin_client, data_group_name, input_data_type, uuid)

# DATA SET
input_data_set = get_or_create_data_set(
admin_client, uuid, data_group['name'], data_type, period)
admin_client, uuid, data_group['name'], input_data_type, period)

output_data_set = get_or_create_data_set(
admin_client, uuid, data_group['name'], 'digital-takeup', period)
if output_data_type:
output_data_set = get_or_create_data_set(
admin_client, uuid, data_group['name'], output_data_type, period)

transform_config = get_transform_config_for_digital_takeup(
data_group_name, session["upload_choice"])
transform_config = get_transform_config_for_digital_takeup(
data_group_name, session["upload_choice"])

transform = get_or_create_data_set_transform(admin_client,
uuid,
transform_config,
input_data_set)
transform = get_or_create_data_set_transform(admin_client,
uuid,
transform_config,
input_data_set)
input_data_type = output_data_type

# MODULE
module = create_module_if_not_exists(
admin_client, data_group['name'], 'digital-takeup', module_config, module_type)
admin_client,
data_group['name'],
input_data_type,
module_config,
module_type)

session['module'] = module_config['title']

return data_group, output_data_set, module


def get_module_config_for_digital_takeup(owning_organisation):
module_config = {
Expand Down
5 changes: 4 additions & 1 deletion tests/application/controllers/test_digital_take_up.py
Original file line number Diff line number Diff line change
Expand Up @@ -295,6 +295,7 @@ def test_set_owning_organisation_in_info(
match_equality(has_entries(
{'info': has_item(contains_string(organisation))}
)),
match_equality(not_none()),
match_equality(not_none())
)

Expand Down Expand Up @@ -337,6 +338,7 @@ def test_sets_info_to_unknown_when_no_organisation(
{'info': has_item(contains_string('Unknown'))}
)),
match_equality(not_none()),
match_equality(not_none())
)

@signed_in(permissions=['signin', 'dashboard'])
Expand Down Expand Up @@ -407,7 +409,8 @@ def test_create_digital_take_up_module_in_stagecraft(
@patch('application.controllers.digital_take_up.get_or_create_data_group')
@patch('application.controllers.digital_take_up.'
'get_or_create_data_set')
@patch('application.controllers.digital_take_up.create_module_if_not_exists')
@patch(
'application.controllers.digital_take_up.create_module_if_not_exists')
@patch('performanceplatform.client.admin.AdminAPI.get_data_set_transforms')
@patch('performanceplatform.client.admin.AdminAPI.create_transform')
def test_transform_created(
Expand Down

0 comments on commit eb9703f

Please sign in to comment.