TexControllerTest.java 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /*
  2. * Copyright (c) 2025. Andrew Grant Carrick Software. All rights reserved
  3. *
  4. */
  5. package scot.carricksoftware.grantswriter.controllers;
  6. import org.junit.jupiter.api.BeforeEach;
  7. import org.junit.jupiter.api.Test;
  8. import org.junit.jupiter.api.extension.ExtendWith;
  9. import org.mockito.Mock;
  10. import org.mockito.junit.jupiter.MockitoExtension;
  11. import org.springframework.ui.Model;
  12. import scot.carricksoftware.grantswriter.files.WriterFiles;
  13. import static org.junit.jupiter.api.Assertions.assertEquals;
  14. import static org.mockito.Mockito.times;
  15. import static org.mockito.Mockito.verify;
  16. import static org.mockito.Mockito.when;
  17. import static scot.carricksoftware.grantswriter.GenerateRandomNumberValues.GetRandomString;
  18. @ExtendWith(MockitoExtension.class)
  19. class TexControllerTest {
  20. private TexController controller;
  21. @Mock
  22. private WriterFiles writerFilesMock;
  23. @Mock
  24. Model modelMock;
  25. @BeforeEach
  26. void setUp() {
  27. controller = new TexControllerImpl(writerFilesMock);
  28. }
  29. @Test
  30. void startReturnsTheCorrectViewTest() {
  31. assertEquals("tex", controller.start(modelMock));
  32. }
  33. @Test
  34. void startCallsInitIfNeededTest() {
  35. when(writerFilesMock.getLatexFileName()).thenReturn(null);
  36. controller.start(modelMock);
  37. verify(writerFilesMock).init();
  38. }
  39. @Test
  40. void startDoesNotCallInitIfNeededTest() {
  41. when(writerFilesMock.getLatexFileName()).thenReturn(GetRandomString());
  42. controller.start(modelMock);
  43. verify(writerFilesMock, times(0)).init();
  44. }
  45. @Test
  46. void startSetTheStatusToRunningTest() {
  47. controller.start(modelMock);
  48. verify(writerFilesMock).setStatus("Running");
  49. }
  50. }