package org.lightadmin.crudOperations.create; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.lightadmin.LoginOnce; import org.lightadmin.RunWithConfiguration; import org.lightadmin.SeleniumIntegrationTest; import org.lightadmin.config.FilterTestEntityConfiguration; import org.lightadmin.data.Domain; import org.lightadmin.page.CreatePage; import org.lightadmin.page.ShowViewPage; import static org.lightadmin.util.DomainAsserts.assertFieldValues; @RunWithConfiguration( {FilterTestEntityConfiguration.class}) @LoginOnce( domain = Domain.FILTER_TEST_DOMAIN ) public class PrimitiveFields extends SeleniumIntegrationTest { private CreatePage createPage; private ShowViewPage showView; @Before public void setup() { createPage = getStartPage().navigateToCreatePage(); } @After public void cleanup() { repopulateDatabase(); } @Test public void itemCanBeCreatedWithAllFieldsFilledIn() { fillInFieldsAndSave(); assertFieldValues( new String[]{ "new item", "8765", "52522", "29572.98", "90859.98", "Yes"}, showView.getFieldValuesExcludingId() ); } @Test public void itemCanBeCreatedWithAllFieldsEmpty() { leaveFieldsEmptyAndSave(); assertFieldValues( new String[]{ " ", "0", "0", "0", "0", "No"}, showView.getFieldValuesExcludingId() ); } private void fillInFieldsAndSave() { createPage.type( "textField", "new item" ); createPage.type( "integerField", "8765" ); createPage.type( "primitiveIntegerField", "52522" ); createPage.type( "decimalField", "29572.98" ); createPage.check( "booleanField" ); showView = createPage.submit(); } private void leaveFieldsEmptyAndSave() { showView = createPage.submit(); } }