Skip to content

Commit 7e113b0

Browse files
committed
start auto save separately to fix unit test
* remove no longer needed workaround dependencies
1 parent 39cd801 commit 7e113b0

5 files changed

Lines changed: 16 additions & 28 deletions

File tree

.github/workflows/mavenCi.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
languages: 'java'
3838

3939
- name: Build
40-
run: mvn -V -B clean package org.jacoco:jacoco-maven-plugin:0.8.7:prepare-agent org.jacoco:jacoco-maven-plugin:0.8.7:report -Pcoverage -Dproject.version=${{ env.version }}-SNAPSHOT -Djava.awt.headless=true -Dtestfx.robot=glass -Dtestfx.headless=true
40+
run: mvn -V -B clean package org.jacoco:jacoco-maven-plugin:0.8.7:prepare-agent org.jacoco:jacoco-maven-plugin:0.8.7:report -Pcoverage -Dproject.version=${{ env.version }}-SNAPSHOT
4141

4242
- name: Upload Build Artifact
4343
uses: actions/upload-artifact@v3

pom.xml

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -129,19 +129,6 @@
129129
<artifactId>hamcrest-library</artifactId>
130130
<scope>test</scope>
131131
</dependency>
132-
<dependency>
133-
<groupId>org.testfx</groupId>
134-
<artifactId>testfx-junit5</artifactId>
135-
<version>4.0.16-alpha</version>
136-
<scope>test</scope>
137-
</dependency>
138-
<!-- https://mvnrepository.com/artifact/org.testfx/openjfx-monocle -->
139-
<dependency>
140-
<groupId>org.testfx</groupId>
141-
<artifactId>openjfx-monocle</artifactId>
142-
<version>jdk-12.0.1+2</version>
143-
<scope>test</scope>
144-
</dependency>
145132
</dependencies>
146133
<build>
147134
<plugins>

src/main/java/de/doubleslash/keeptime/App.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ public void init() throws Exception {
9595

9696
model = springContext.getBean(Model.class);
9797
controller = springContext.getBean(Controller.class);
98+
controller.enableAutoSave();
9899
model.setSpringContext(springContext);
99100
}
100101

src/main/java/de/doubleslash/keeptime/controller/Controller.java

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -38,20 +38,28 @@
3838

3939
@Service
4040
public class Controller {
41-
private final long QUICK_SAVE_INTERVAL = 60;
4241

4342
private static final Logger LOG = LoggerFactory.getLogger(Controller.class);
4443

44+
private final long AUTO_SAVE_INTERVAL_SECONDS = 60;
45+
private Interval autoSaveInterval;
46+
4547
private final Model model;
4648

4749
private final DateProvider dateProvider;
4850

4951
public Controller(final Model model, final DateProvider dateProvider) {
5052
this.model = model;
5153
this.dateProvider = dateProvider;
54+
}
5255

53-
// initiate quicksaving
54-
new Interval(QUICK_SAVE_INTERVAL).registerCallBack(() -> saveCurrentWork(dateProvider.dateTimeNow()));
56+
public void enableAutoSave() {
57+
LOG.info("Enabling auto save with interval '{}' seconds.", AUTO_SAVE_INTERVAL_SECONDS);
58+
autoSaveInterval = new Interval(AUTO_SAVE_INTERVAL_SECONDS);
59+
autoSaveInterval.registerCallBack(() -> {
60+
LOG.debug("Auto saving current work.");
61+
saveCurrentWork(dateProvider.dateTimeNow());
62+
});
5563
}
5664

5765
public void changeProject(final Project newProject) {
@@ -178,7 +186,7 @@ public void deleteProject(final Project p) {
178186
changeProject(model.getIdleProject());
179187
}
180188

181-
LOG.info("Disabeling project '{}'.", p);
189+
LOG.info("Disabling project '{}'.", p);
182190

183191
final int indexToRemove = p.getIndex();
184192
p.setEnabled(false); // we don't delete it because of the referenced work
@@ -317,7 +325,7 @@ public void setComment(final String notes) {
317325
}
318326

319327
/**
320-
* Calculate todays seconds counted as work
328+
* Calculate today's seconds counted as work
321329
*/
322330
public long calcTodaysWorkSeconds() {
323331
final List<Work> workItems = new ArrayList<>();
@@ -338,16 +346,12 @@ public long calcTodaysWorkSeconds() {
338346
}
339347

340348
/**
341-
* Calculate todays present seconds (work+nonWork)
349+
* Calculate today's present seconds (work+nonWork)
342350
*/
343351
public long calcTodaysSeconds() {
344352
return calcSeconds(model.getPastWorkItems());
345353
}
346354

347-
public ObservableList<Project> getAvailableProjects() {
348-
return model.getAvailableProjects();
349-
}
350-
351355
public long calcSeconds(final List<Work> workItems) {
352356
long seconds = 0;
353357

src/test/java/de/doubleslash/keeptime/controller/ControllerTest.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232

3333
import org.hamcrest.Matchers;
3434
import org.junit.jupiter.api.*;
35-
import org.junit.jupiter.api.extension.ExtendWith;
3635
import org.mockito.ArgumentCaptor;
3736
import org.mockito.Mockito;
3837
import org.springframework.test.util.ReflectionTestUtils;
@@ -45,10 +44,7 @@
4544
import de.doubleslash.keeptime.model.repos.SettingsRepository;
4645
import de.doubleslash.keeptime.model.repos.WorkRepository;
4746
import javafx.scene.paint.Color;
48-
import org.testfx.framework.junit5.ApplicationExtension;
4947

50-
51-
@ExtendWith(ApplicationExtension.class)
5248
class ControllerTest {
5349

5450
private static Controller testee;

0 commit comments

Comments
 (0)