Added tests for NodeService

This commit is contained in:
Andrey Terentev 2024-02-29 15:48:26 +07:00 committed by Andrey Terentev
parent c812bff637
commit 18dab02371

View File

@ -0,0 +1,47 @@
package ru.dragonestia.picker.service;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import ru.dragonestia.picker.api.exception.NodeAlreadyExistException;
import ru.dragonestia.picker.api.repository.response.type.type.PickingMode;
import ru.dragonestia.picker.model.Node;
import java.util.List;
@SpringBootTest
public class NodeServiceTests {
@Autowired
private NodeService nodeService;
@Test
void test_nodeCreateAndRemove() {
var node = new Node("test", PickingMode.SEQUENTIAL_FILLING, false);
Assertions.assertDoesNotThrow(() -> nodeService.create(node));
Assertions.assertTrue(nodeService.find(node.id()).isPresent());
Assertions.assertThrows(NodeAlreadyExistException.class, () -> nodeService.create(node));
nodeService.remove(node);
Assertions.assertFalse(() -> nodeService.find(node.id()).isPresent());
}
@Test
void test_allNodes() {
var nodes = List.of(
new Node("test1", PickingMode.SEQUENTIAL_FILLING, false),
new Node("test2", PickingMode.ROUND_ROBIN, false),
new Node("test3", PickingMode.ROUND_ROBIN, false)
);
nodes.forEach(node -> nodeService.create(node));
var list = nodeService.all();
Assertions.assertEquals(nodes.size(), list.size());
Assertions.assertTrue(list.containsAll(nodes));
}
}