Andrew Grant 4 ヶ月 前
コミット
575facb3fe

+ 2 - 0
src/main/java/scot/carricksoftware/grantswriter/constants/ViewConstants.java

@@ -16,5 +16,7 @@ public class ViewConstants {
 
     public static final String NOT_AVAILABLE = "not-available";
 
+    @SuppressWarnings("unused")
+    public static final String FILES = "files";
 
 }

+ 0 - 6
src/main/java/scot/carricksoftware/grantswriter/files/WriterFiles.java

@@ -6,13 +6,7 @@
 package scot.carricksoftware.grantswriter.files;
 
 public interface WriterFiles {
-    String getDirectory();
 
-    void setDirectory(String directory);
-
-    String getInputFileName();
-
-    void setInputFileName(String inputFileName);
 
     String getLatexFileName();
 

+ 4 - 21
src/main/java/scot/carricksoftware/grantswriter/files/WriterFilesImpl.java

@@ -5,32 +5,15 @@
 
 package scot.carricksoftware.grantswriter.files;
 
+import org.springframework.stereotype.Component;
+
+
+@Component
 public class WriterFilesImpl implements WriterFiles {
 
-    private String directory;
-    private String inputFileName;
     private String latexFileName;
     private String pdfFileName;
 
-    @Override
-    public String getDirectory() {
-        return directory;
-    }
-
-    @Override
-    public void setDirectory(String directory) {
-        this.directory = directory;
-    }
-
-    @Override
-    public String getInputFileName() {
-        return inputFileName;
-    }
-
-    @Override
-    public void setInputFileName(String inputFileName) {
-        this.inputFileName = inputFileName;
-    }
 
     @Override
     public String getLatexFileName() {

+ 61 - 0
src/main/resources/templates/files.html

@@ -0,0 +1,61 @@
+<!doctype html>
+<!--suppress HtmlUnknownTarget -->
+<html lang="en">
+<head>
+    <!-- Required meta tags -->
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+
+    <!-- Bootstrap CSS -->
+    <!--suppress SpellCheckingInspection -->
+    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
+          integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
+
+    <title>Grants Application - writer home</title>
+</head>
+<body>
+
+<div th:insert="~{fragments/layout::banner}"></div>
+
+<div class="mx-auto" style="width:50%;text-align:center;">
+    <h1 id="pageHeader">Writer Specify File</h1>
+    <div th:insert="~{fragments/layout::banner}"></div>
+
+    <div class="container border border-info
+rounded-3 text-center p-4">
+        <!--/*@thymesVar id="WriterFilesImpl" type="scot.carricksoftware.grantswriter.files.WriterFilesImpl"*/-->
+        <form th:object="${WriterFilesImpl}" th:action="@{/files}" method="post">
+            <div th:if="${#fields.hasErrors('*')}" class="alert alert-danger">
+                <p>Please Correct The Errors Below</p>
+            </div>
+
+            <div class="form-group row justify-content-center">
+                <div class="col-md-3">
+                    <label for="texFile">Tex File: </label>
+                    <input class="form-control" id="texFile"
+                           th:field="*{latexFileName}" type="text">
+                    <div th:if="${#fields.hasErrors('texFile')}">
+                        <ul class="text-danger">
+                            <li th:each="err : ${#fields.errors('texFile')}" th:text="${err}"></li>
+                        </ul>
+                    </div>
+                </div>
+            </div>
+            <div class="form-group row justify-content-center">
+                <div class="col-md-3">
+                    <label for="pdfFile">PDF File: </label>
+                    <input class="form-control" id="pdfFile"
+                           th:field="*{pdfFileName}" type="text">
+                    <div th:if="${#fields.hasErrors('pdfFile')}">
+                        <ul class="text-danger">
+                            <li th:each="err : ${#fields.errors('pdfFile')}" th:text="${err}"></li>
+                        </ul>
+                    </div>
+                </div>
+            </div>
+            <button type="submit" class="btn btn-primary">Commit</button>
+        </form>
+    </div>
+</div>
+</body>
+</html>

+ 4 - 23
src/test/java/scot/carricksoftware/grantswriter/files/WriterFilesImplTest.java

@@ -7,41 +7,22 @@ package scot.carricksoftware.grantswriter.files;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.junit.jupiter.MockitoExtension;
 
 import static org.junit.jupiter.api.Assertions.*;
 
+@ExtendWith(MockitoExtension.class)
 class WriterFilesImplTest {
 
     private WriterFiles writerFiles;
 
+
     @BeforeEach
     void setUp() {
         writerFiles = new WriterFilesImpl();
     }
 
-    @Test
-    void getDirectoryTest() {
-        assertNull(writerFiles.getDirectory());
-    }
-
-    @Test
-    void setDirectoryTest() {
-        String string = "test";
-        writerFiles.setDirectory(string);
-    }
-
-    @Test
-    void getInputFileNameTest() {
-        assertNull(writerFiles.getInputFileName());
-    }
-
-    @Test
-    void setInputFileNameTest() {
-        String string = "test";
-        writerFiles.setInputFileName(string);
-        assertEquals(string, writerFiles.getInputFileName());
-    }
-
     @Test
     void getLatexFileNameTest() {
         assertNull(writerFiles.getLatexFileName());