1 package webapi;
2
3 import static org.junit.jupiter.api.Assertions.*;
4
5 import java.net.URI;
6 import java.util.List;
7
8 import org.eclipse.microprofile.rest.client.RestClientBuilder;
9 import org.junit.jupiter.api.BeforeAll;
10 import org.junit.jupiter.api.Test;
11
12 import io.helidon.microprofile.tests.junit5.AddConfig;
13 import io.helidon.microprofile.tests.junit5.HelidonTest;
14
15 @HelidonTest
16 @AddConfig(key = "server.port", value = "7001")
17 public class ProductResourceTest {
18
19 private static ProcutEndPointSpec endPoint;
20
21 @BeforeAll
22 static void init() throws Exception {
23 endPoint = RestClientBuilder.newBuilder()
24 .baseUri(new URI("http://localhost:7001"))
25 .build(ProcutEndPointSpec.class);
26 }
27
28 @Test
29 void testNormalMember() {
30 List<Integer> expect = List.of(90, 1, 10);
31 List<Integer> actual = endPoint.calculatePrice("A0001", 100);
32 assertEquals(expect, actual);
33 }
34
35 @Test
36 void testSilverMember() {
37 List<Integer> expect = List.of(80, 2, 20);
38 List<Integer> actual = endPoint.calculatePrice("A0002", 100);
39 assertEquals(expect, actual);
40 }
41
42 @Test
43 void testGoldMember() {
44 List<Integer> expect = List.of(70, 3, 30);
45 List<Integer> actual = endPoint.calculatePrice("A0003", 100);
46 assertEquals(expect, actual);
47 }
48
49 @Test
50 void testOtherMember() {
51
52 List<Integer> expect = List.of(90, 1, 1);
53 List<Integer> actual = endPoint.calculatePrice("99999", 100);
54 assertEquals(expect, actual);
55 }
56 }