-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathnested_sort_test.go
89 lines (72 loc) · 2.13 KB
/
nested_sort_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package es_test
import (
"testing"
"github.com/Trendyol/es-query-builder/es"
"github.com/Trendyol/es-query-builder/test/assert"
)
func Test_NestedSort_should_exist_on_es_package(t *testing.T) {
t.Parallel()
// Given When Then
assert.NotNil(t, es.NestedSort)
}
func Test_NestedSort_method_should_create_nestedSortType(t *testing.T) {
t.Parallel()
// Given
n := es.NestedSort("timestamp")
// Then
assert.NotNil(t, n)
assert.IsTypeString(t, "es.nestedSortType", n)
}
func Test_NestedSort_should_have_MaxChildren_method(t *testing.T) {
t.Parallel()
// Given
nestedSort := es.NestedSort("timestamp")
// When Then
assert.NotNil(t, nestedSort.MaxChildren)
}
func Test_MaxChildren_should_add_max_children_field_into_NestedSort(t *testing.T) {
t.Parallel()
// Given
nestedSort := es.NestedSort("timestamp").MaxChildren(42)
// When Then
assert.NotNil(t, nestedSort)
bodyJSON := assert.MarshalWithoutError(t, nestedSort)
assert.Equal(t, "{\"max_children\":42,\"path\":\"timestamp\"}", bodyJSON)
}
func Test_NestedSort_should_have_Filter_method(t *testing.T) {
t.Parallel()
// Given
nestedSort := es.NestedSort("timestamp")
// When Then
assert.NotNil(t, nestedSort.Filter)
}
func Test_Filter_should_add_filter_field_into_NestedSort(t *testing.T) {
t.Parallel()
// Given
nestedSort := es.NestedSort("timestamp").
Filter(
es.Bool().Must(
es.Term("soldier", 76),
),
)
// When Then
assert.NotNil(t, nestedSort)
bodyJSON := assert.MarshalWithoutError(t, nestedSort)
assert.Equal(t, "{\"filter\":{\"bool\":{\"must\":[{\"term\":{\"soldier\":{\"value\":76}}}]}},\"path\":\"timestamp\"}", bodyJSON)
}
func Test_NestedSort_should_have_Nested_method(t *testing.T) {
t.Parallel()
// Given
nestedSort := es.NestedSort("timestamp")
// When Then
assert.NotNil(t, nestedSort.Nested)
}
func Test_Nested_should_add_filter_field_into_NestedSort(t *testing.T) {
t.Parallel()
// Given
nestedSort := es.NestedSort("timestamp").Nested(es.NestedSort("zone"))
// When Then
assert.NotNil(t, nestedSort)
bodyJSON := assert.MarshalWithoutError(t, nestedSort)
assert.Equal(t, "{\"nested\":{\"path\":\"zone\"},\"path\":\"timestamp\"}", bodyJSON)
}