def test_campaign_determiner_duplicates_true(self): stack = helpers.create_stack() c = Campaign.find_by_id_anon(stack['campaign_id']) e = Email.find_by_id_anon(stack['email_id']) e.update(selector_col_val='["dog"]') e2 = Email.create(account_id=c.account_id, name="EmailTwo", campaign_id=c.id) e2.update(selector_col_val='["dog"]') self.assertEqual(c.determiner_duplicates(),(True,'dog'))
def test_campaign_email_determiner_none(self): stack = helpers.create_stack() c = Campaign.find_by_id_anon(stack['campaign_id']) c.update(selector_col_name='dog') e = Email.find_by_id_anon(stack['email_id']) e.update(selector_col_val='["woof"]') e2 = Email.create(account_id=c.account_id, name="EmailTwo", campaign_id=c.id) e2.update(selector_col_val='["heina"]') self.assertEqual(c.email_determiner({'dog': 'cat'}), None)
def create(campaign_id=None): campaign = Campaign.find_by_id(campaign_id) if campaign_id else None if not campaign: return abort(404) form = NewEmailForm(request.form) if campaign.list_id: keys = campaign.list_.get_import_data_keys() form.selector_col_val.choices = campaign.list_.get_unique_col_values( campaign.selector_col_name, True) else: keys = [] templates = Template.get_all_choices() if form.validate_on_submit(): params = { 'name': form.name.data, 'subject': form.subject.data, 'preheader': form.preheader.data, 'selector_col_val': form.selector_col_val.data } if form.template.data: params['html'] = Template.get_html(form.template.data) params['account_id'] = current_user.account_id params['campaign_id'] = campaign.id email = Email.create(**params) if email: flash('Email Created') return redirect( url_for('email.edit', email_id=email.id, campaign_id=campaign.id)) flash_errors(form) return render_template('email/new.html', form=form, campaign=campaign, keys=keys, templates=templates)
def test_campaign_email_determiner_no_specification(self): stack = helpers.create_stack() c = Campaign.find_by_id_anon(stack['campaign_id']) e = Email.find_by_id_anon(stack['email_id']) e2 = Email.create(account_id=c.account_id, name="EmailTwo", campaign_id=c.id) self.assertEqual(c.email_determiner({}), e)
def test_campaign_selector_missing_true(self): stack = helpers.create_stack() c = Campaign.find_by_id_anon(stack['campaign_id']) e2 = Email.create(account_id=c.account_id, name="EmailTwo", campaign_id=c.id) self.assertEqual(c.selector_missing(),True)