Search in sources :

Example 1 with Text

use of com.yandex.money.api.model.showcase.components.uicontrols.Text in project yandex-money-sdk-java by yandex-money.

the class ShowcaseParserTest method checkForm.

private void checkForm(Group form) {
    assertNotNull(form);
    assertEquals(form.layout, Group.Layout.VERTICAL);
    List<Component> components = form.items;
    assertEquals(components.size(), 13);
    Component component = components.get(0);
    assertTrue(component instanceof Text);
    Text text = (Text) component;
    assertEquals(text.valueAutoFill, Parameter.AutoFill.CURRENT_USER_ACCOUNT);
    checkComponentFields(text, "name1", "required");
    assertEquals(text.minLength, Integer.valueOf(2));
    assertEquals(text.maxLength, Integer.valueOf(10));
    assertEquals(text.pattern, "\\D*?");
    component = components.get(1);
    assertTrue(component instanceof Number);
    Number number = (Number) component;
    checkComponentFields(number, "name2", "10.00");
    checkNumberField(number);
    component = components.get(2);
    assertTrue(component instanceof Amount);
    Amount amount = (Amount) component;
    checkComponentFields(amount, "name3", "10.00");
    checkNumberField(amount);
    assertEquals(amount.currency, Currency.RUB);
    checkFee(amount.fee);
    component = components.get(3);
    assertTrue(component instanceof Email);
    checkComponentFields(component, "name4", "vyasevich@yamoney.ru");
    component = components.get(4);
    assertTrue(component instanceof Tel);
    checkComponentFields(component, "name5", "79876543210");
    component = components.get(5);
    assertTrue(component instanceof Checkbox);
    Checkbox checkbox = (Checkbox) component;
    checkComponentFields(component, "name6", "true");
    assertTrue(checkbox.checked);
    component = components.get(6);
    assertTrue(component instanceof Date);
    Date date = (Date) component;
    checkComponentFields(date, "name7", "2005-01-01");
    checkDate(date);
    component = components.get(7);
    assertTrue(component instanceof Month);
    Month month = (Month) component;
    checkComponentFields(month, "name8", "2005-01");
    checkDate(month);
    component = components.get(8);
    assertTrue(component instanceof Select);
    Select select = (Select) component;
    checkComponentFields(select, "name9", "value2");
    assertEquals(select.style, Select.Style.RADIO_GROUP);
    checkOptions(select.options);
    component = components.get(9);
    assertTrue(component instanceof TextArea);
    TextArea textArea = (TextArea) component;
    checkComponentFields(textArea, "name10", "value");
    assertEquals(textArea.minLength, Integer.valueOf(2));
    assertEquals(textArea.maxLength, Integer.valueOf(10));
    component = components.get(10);
    assertTrue(component instanceof Submit);
    Submit submit = (Submit) component;
    assertEquals(submit.hint, "hint");
    assertEquals(submit.label, "label");
    assertEquals(submit.alert, "alert");
    assertTrue(submit.required);
    assertFalse(submit.readonly);
    component = components.get(11);
    assertTrue(component instanceof Group);
    Group group = (Group) component;
    assertEquals(group.label, "label");
    assertEquals(group.layout, Group.Layout.HORIZONTAL);
    assertNotNull(group.items);
    assertEquals(group.items.size(), 2);
    component = components.get(12);
    assertTrue(component instanceof Paragraph);
    Paragraph paragraph = (Paragraph) component;
    assertEquals(paragraph.label, "label");
    List<TextBlock> items = paragraph.items;
    assertNotNull(items);
    assertEquals(items.size(), 3);
    TextBlock block = items.get(0);
    assertEquals(block.text, "Text with ");
    block = items.get(1);
    assertEquals(block.text, "link");
    assertTrue(block instanceof TextBlock.WithLink);
    TextBlock.WithLink link = (TextBlock.WithLink) block;
    assertEquals(link.link, "https://money.yandex.ru");
    block = items.get(2);
    assertEquals(block.text, ".");
}
Also used : Group(com.yandex.money.api.model.showcase.components.containers.Group) Email(com.yandex.money.api.model.showcase.components.uicontrols.Email) TextArea(com.yandex.money.api.model.showcase.components.uicontrols.TextArea) Amount(com.yandex.money.api.model.showcase.components.uicontrols.Amount) Text(com.yandex.money.api.model.showcase.components.uicontrols.Text) Date(com.yandex.money.api.model.showcase.components.uicontrols.Date) Paragraph(com.yandex.money.api.model.showcase.components.containers.Paragraph) Month(com.yandex.money.api.model.showcase.components.uicontrols.Month) Number(com.yandex.money.api.model.showcase.components.uicontrols.Number) Checkbox(com.yandex.money.api.model.showcase.components.uicontrols.Checkbox) Select(com.yandex.money.api.model.showcase.components.uicontrols.Select) Submit(com.yandex.money.api.model.showcase.components.uicontrols.Submit) Tel(com.yandex.money.api.model.showcase.components.uicontrols.Tel) Component(com.yandex.money.api.model.showcase.components.Component) TextBlock(com.yandex.money.api.model.showcase.components.TextBlock)

Example 2 with Text

use of com.yandex.money.api.model.showcase.components.uicontrols.Text in project yandex-money-sdk-java by yandex-money.

the class ShowcaseParserTest method checkOptions.

private void checkOptions(List<Select.Option> options) {
    assertEquals(options.size(), 3);
    Select.Option option = options.get(0);
    assertEquals(option.label, "label1");
    assertEquals(option.value, "value1");
    assertNull(option.group);
    option = options.get(1);
    assertEquals(option.label, "label2");
    assertEquals(option.value, "value2");
    assertNull(option.group);
    option = options.get(2);
    assertEquals(option.label, "label3");
    assertEquals(option.value, "value3");
    Group group = option.group;
    assertNotNull(group);
    List<Component> items = group.items;
    assertEquals(items.size(), 1);
    Component component = items.get(0);
    assertTrue(component instanceof Text);
    ParameterControl control = (ParameterControl) component;
    assertEquals(control.name, "name14");
    assertEquals(control.getValue(), "readonly");
    assertEquals(control.hint, "hint");
    assertEquals(control.label, "label");
    assertEquals(control.alert, "alert");
    assertFalse(control.required);
    assertTrue(control.readonly);
}
Also used : Group(com.yandex.money.api.model.showcase.components.containers.Group) Select(com.yandex.money.api.model.showcase.components.uicontrols.Select) ParameterControl(com.yandex.money.api.model.showcase.components.uicontrols.ParameterControl) Text(com.yandex.money.api.model.showcase.components.uicontrols.Text) Component(com.yandex.money.api.model.showcase.components.Component)

Example 3 with Text

use of com.yandex.money.api.model.showcase.components.uicontrols.Text in project yandex-money-sdk-java by yandex-money.

the class TextTest method testValidation.

@Test
public void testValidation() {
    Text.Builder builder = new Text.Builder();
    prepareParameter(builder);
    Text text = builder.create();
    Assert.assertTrue(text.isValid("some random string, no constraints"));
    Assert.assertFalse(text.isValid("some random string\nno constraints"));
    builder.setPattern("\\d*?").setMinLength(3).setMaxLength(5);
    text = builder.create();
    Assert.assertTrue(text.isValid("123"));
    Assert.assertTrue(text.isValid("1234"));
    Assert.assertTrue(text.isValid("12345"));
    Assert.assertFalse(text.isValid("abc"));
    Assert.assertFalse(text.isValid("12"));
    Assert.assertFalse(text.isValid("123456"));
    testEmptyValues(builder);
}
Also used : Text(com.yandex.money.api.model.showcase.components.uicontrols.Text) Test(org.testng.annotations.Test)

Example 4 with Text

use of com.yandex.money.api.model.showcase.components.uicontrols.Text in project yandex-money-sdk-java by yandex-money.

the class ShowcaseProcessTest method testProceedSuccess.

/**
 * Tests that complex showcase successfully proceeds two steps asynchronously.
 *
 * @throws Exception if something goes wrong
 */
@Test
public void testProceedSuccess() throws Exception {
    final ShowcaseProcess showcaseProcess = initShowcaseProcess();
    final ShowcaseContext showcaseContext = showcaseProcess.showcaseContext;
    Showcase showcase = showcaseContext.getCurrentStep().showcase;
    final Text inn = (Text) showcase.form.items.get(0);
    inn.setValue(SAMPLE_INN);
    showcaseProcess.proceed();
    assertEquals(showcaseContext.getHistorySize(), 1);
    showcase = showcaseContext.getCurrentStep().showcase;
    ((Text) showcase.form.items.get(0)).setValue("Содружество Авангард");
    ((Select) showcase.form.items.get(1)).setValue("40702810055240000859");
    showcaseProcess.proceed();
    assertEquals(showcaseContext.getHistorySize(), 2);
    showcaseProcess.proceed();
    assertEquals(showcaseContext.getHistorySize(), 3);
}
Also used : Showcase(com.yandex.money.api.model.showcase.Showcase) ShowcaseContext(com.yandex.money.api.model.showcase.ShowcaseContext) Select(com.yandex.money.api.model.showcase.components.uicontrols.Select) Text(com.yandex.money.api.model.showcase.components.uicontrols.Text) Test(org.testng.annotations.Test)

Example 5 with Text

use of com.yandex.money.api.model.showcase.components.uicontrols.Text in project yandex-money-sdk-java by yandex-money.

the class ShowcaseProcessTest method testRepeat.

/**
 * Tests that recovery from erroneous input works as expected.
 */
// @Test see INC-21192
public void testRepeat() throws Exception {
    Showcase showcase = loadFromResource();
    final ShowcaseContext.Step currentStep = new ShowcaseContext.Step(showcase, BILLS_SECOND_STEP_URL);
    final ShowcaseContext showcaseContext = new ShowcaseContext(new Stack<ShowcaseContext.Step>(), DateTime.now(), currentStep, Collections.<String, String>emptyMap(), ShowcaseContext.State.UNKNOWN);
    final ShowcaseProcess showcaseProcess = new ShowcaseProcess(getClient(), showcaseContext);
    Text inn = (Text) showcase.form.items.get(0);
    inn.setValue("erroneous input");
    showcaseProcess.proceed();
    assertEquals(showcaseContext.getHistorySize(), 0);
    // repeat proceed with allowed inn
    showcase = showcaseContext.getCurrentStep().showcase;
    inn = (Text) showcase.form.items.get(0);
    inn.setValue(SAMPLE_INN);
    showcaseProcess.proceed();
    assertEquals(showcaseContext.getHistorySize(), 1);
}
Also used : Showcase(com.yandex.money.api.model.showcase.Showcase) ShowcaseContext(com.yandex.money.api.model.showcase.ShowcaseContext) Text(com.yandex.money.api.model.showcase.components.uicontrols.Text)

Aggregations

Text (com.yandex.money.api.model.showcase.components.uicontrols.Text)5 Select (com.yandex.money.api.model.showcase.components.uicontrols.Select)3 Showcase (com.yandex.money.api.model.showcase.Showcase)2 ShowcaseContext (com.yandex.money.api.model.showcase.ShowcaseContext)2 Component (com.yandex.money.api.model.showcase.components.Component)2 Group (com.yandex.money.api.model.showcase.components.containers.Group)2 Test (org.testng.annotations.Test)2 TextBlock (com.yandex.money.api.model.showcase.components.TextBlock)1 Paragraph (com.yandex.money.api.model.showcase.components.containers.Paragraph)1 Amount (com.yandex.money.api.model.showcase.components.uicontrols.Amount)1 Checkbox (com.yandex.money.api.model.showcase.components.uicontrols.Checkbox)1 Date (com.yandex.money.api.model.showcase.components.uicontrols.Date)1 Email (com.yandex.money.api.model.showcase.components.uicontrols.Email)1 Month (com.yandex.money.api.model.showcase.components.uicontrols.Month)1 Number (com.yandex.money.api.model.showcase.components.uicontrols.Number)1 ParameterControl (com.yandex.money.api.model.showcase.components.uicontrols.ParameterControl)1 Submit (com.yandex.money.api.model.showcase.components.uicontrols.Submit)1 Tel (com.yandex.money.api.model.showcase.components.uicontrols.Tel)1 TextArea (com.yandex.money.api.model.showcase.components.uicontrols.TextArea)1