mirror of
https://github.com/vcscsvcscs/GenerationsHeritage.git
synced 2025-08-14 06:49:05 +02:00
implement further integration tests on person and relationship creation
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"id1": 2,
|
||||
"id2": 3,
|
||||
"type": "child",
|
||||
"relationship": {
|
||||
"verified": true,
|
||||
"notes": "Test notes",
|
||||
"from": "2022-01-01"
|
||||
}
|
||||
}
|
@@ -46,12 +46,12 @@ func CreatePersonTest(dbAdapterUri string, client *http.Client) func(t *testing.
|
||||
|
||||
func GetPersonById(dbAdapterUri string, client *http.Client) func(t *testing.T) {
|
||||
return func(t *testing.T) {
|
||||
url := dbAdapterUri + "/person/0"
|
||||
url := dbAdapterUri + "/person/2"
|
||||
|
||||
req, err := http.NewRequestWithContext(t.Context(), http.MethodGet, url, http.NoBody)
|
||||
require.NoError(t, err)
|
||||
req.Header.Set("Content-Type", "application/json")
|
||||
req.Header.Set("X-User-ID", "0")
|
||||
req.Header.Set("X-User-ID", "3")
|
||||
|
||||
// Send the request
|
||||
resp, err := client.Do(req)
|
||||
@@ -68,8 +68,8 @@ func GetPersonById(dbAdapterUri string, client *http.Client) func(t *testing.T)
|
||||
_, ok := responseBody["Id"]
|
||||
require.True(t, ok)
|
||||
|
||||
require.Equal(t, "Alice", responseBody["Props"].(map[string]any)["first_name"])
|
||||
require.Equal(t, "Wonderland", responseBody["Props"].(map[string]any)["last_name"])
|
||||
require.Equal(t, "Johannes", responseBody["Props"].(map[string]any)["first_name"])
|
||||
require.Equal(t, "Doe", responseBody["Props"].(map[string]any)["last_name"])
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -7,6 +7,7 @@ import (
|
||||
"net/http"
|
||||
"testing"
|
||||
|
||||
"github.com/neo4j/neo4j-go-driver/v5/neo4j/dbtype"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
@@ -35,29 +36,28 @@ func CreatePersonAndRelationshipTest(dbAdapterUri string, payload *[]byte, clien
|
||||
return func(t *testing.T) {
|
||||
url := dbAdapterUri + "/person_and_relationship/1"
|
||||
|
||||
req, err := http.NewRequestWithContext(t.Context(), http.MethodPost, url, bytes.NewBuffer(create_other_person))
|
||||
req, err := http.NewRequestWithContext(t.Context(), http.MethodPost, url, bytes.NewBuffer(*payload))
|
||||
require.NoError(t, err)
|
||||
req.Header.Set("Content-Type", "application/json")
|
||||
req.Header.Set("X-User-ID", "0")
|
||||
req.Header.Set("X-User-Name", "application/json")
|
||||
|
||||
// Send the request
|
||||
resp, err := client.Do(req)
|
||||
require.NoError(t, err)
|
||||
defer resp.Body.Close()
|
||||
|
||||
var responseBody map[string]any
|
||||
var responseBody struct {
|
||||
Person dbtype.Node `json:"person"`
|
||||
Relationships []dbtype.Relationship `json:"relationships"`
|
||||
}
|
||||
|
||||
err = json.NewDecoder(resp.Body).Decode(&responseBody)
|
||||
require.NoError(t, err)
|
||||
|
||||
// Validate the response
|
||||
require.Equal(t, http.StatusOK, resp.StatusCode)
|
||||
|
||||
_, ok := responseBody["Id"]
|
||||
require.True(t, ok)
|
||||
_, ok = responseBody["person"]
|
||||
require.True(t, ok)
|
||||
_, ok = responseBody["relationship"]
|
||||
require.True(t, ok)
|
||||
require.NotEmpty(t, responseBody.Person)
|
||||
require.NotEmpty(t, responseBody.Relationships)
|
||||
}
|
||||
}
|
||||
|
@@ -1,7 +1,69 @@
|
||||
package integration_tests
|
||||
|
||||
func GetFamilyTreeById() {
|
||||
import (
|
||||
"encoding/json"
|
||||
"net/http"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func GetFamilyTreeByIdTest(dbAdapterUri string, client *http.Client) func(t *testing.T) {
|
||||
return func(t *testing.T) {
|
||||
url := dbAdapterUri + "/family-tree"
|
||||
|
||||
req, err := http.NewRequestWithContext(t.Context(), http.MethodGet, url, http.NoBody)
|
||||
require.NoError(t, err)
|
||||
req.Header.Set("Content-Type", "application/json")
|
||||
req.Header.Set("X-User-ID", "1")
|
||||
|
||||
// Send the request
|
||||
resp, err := client.Do(req)
|
||||
require.NoError(t, err)
|
||||
defer resp.Body.Close()
|
||||
|
||||
// Validate the response
|
||||
require.Equal(t, http.StatusOK, resp.StatusCode)
|
||||
|
||||
var responseBody struct {
|
||||
People []any `json:"people"`
|
||||
Relationships []any `json:"relationships"`
|
||||
}
|
||||
|
||||
err = json.NewDecoder(resp.Body).Decode(&responseBody)
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Equal(t, 4, len(responseBody.People))
|
||||
require.Equal(t, 4, len(responseBody.Relationships))
|
||||
}
|
||||
}
|
||||
|
||||
func GetFamilyTreeWithSpousesById() {
|
||||
func GetFamilyTreeWithSpousesByIdTest(dbAdapterUri string, client *http.Client) func(t *testing.T) {
|
||||
return func(t *testing.T) {
|
||||
url := dbAdapterUri + "/family-tree-with-spouses"
|
||||
|
||||
req, err := http.NewRequestWithContext(t.Context(), http.MethodGet, url, http.NoBody)
|
||||
require.NoError(t, err)
|
||||
req.Header.Set("Content-Type", "application/json")
|
||||
req.Header.Set("X-User-ID", "3")
|
||||
|
||||
// Send the request
|
||||
resp, err := client.Do(req)
|
||||
require.NoError(t, err)
|
||||
defer resp.Body.Close()
|
||||
|
||||
// Validate the response
|
||||
require.Equal(t, http.StatusOK, resp.StatusCode)
|
||||
|
||||
var responseBody struct {
|
||||
People []any `json:"people"`
|
||||
Relationships []any `json:"relationships"`
|
||||
}
|
||||
|
||||
err = json.NewDecoder(resp.Body).Decode(&responseBody)
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Equal(t, 5, len(responseBody.People))
|
||||
require.Equal(t, 6, len(responseBody.Relationships))
|
||||
}
|
||||
}
|
||||
|
@@ -71,7 +71,7 @@ func CreatePersonByGoogleIdAndInviteCodeTest(dbAdapterUri string, client *http.C
|
||||
require.NoError(t, err)
|
||||
|
||||
// Validate the response
|
||||
t.Log("Response Status Code: ", responseBody)
|
||||
// t.Log("Response Status Code: ", responseBody)
|
||||
require.Equal(t, http.StatusOK, resp.StatusCode)
|
||||
|
||||
_, ok := responseBody["Id"]
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package integration_tests
|
||||
|
||||
func CreateRelationship() {
|
||||
func CreateRelationshipTest() {
|
||||
}
|
||||
|
||||
func UpdateRelationship() {
|
||||
|
Reference in New Issue
Block a user