diff --git a/src/test/java/TestForm.java b/src/test/java/TestForm.java new file mode 100644 index 0000000..06b352f --- /dev/null +++ b/src/test/java/TestForm.java @@ -0,0 +1,40 @@ +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
optionalForm = result.form(); + Assertions.assertTrue(optionalForm.isPresent()); + Form form = optionalForm.get(); + Assertions.assertInstanceOf(ContactFormData.class, form); + }); + } +} \ No newline at end of file