import com.alttd.forms.contact.ContactFormData; import com.alttd.forms.contact.StoreFormQuery; import com.alttd.forms.database.DatabaseConnection; import com.alttd.forms.form.Form; import com.alttd.forms.verify_mail.FormQuery; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import java.util.Optional; public class TestForm { private static int code; @BeforeAll public static void testInsert() { Assertions.assertDoesNotThrow(() -> DatabaseConnection.initialize()); StoreFormQuery storeFormQuery = new StoreFormQuery(); ContactFormData contactFormData = new ContactFormData("akastijn", "akastijn@alttd.com", "This is a test question."); storeFormQuery.storeFormForVerificationCode("akastijn@alttd.com", contactFormData). thenAccept(code -> { TestForm.code = code; Assertions.assertTrue(code > 999 && code < 10000); }) .exceptionally(throwable -> Assertions.fail()); } @Test public void testRetrieveForm() { Assertions.assertDoesNotThrow(() -> DatabaseConnection.initialize()); new FormQuery().getFormForCode(String.valueOf(code), "akastijn@alttd.com").thenAccept(result -> { Assertions.assertTrue(result.failReason().isEmpty()); Optional