|
|
- package api
-
- import (
- "testing"
- )
-
- func TestDeserializePetJson(t *testing.T) {
- jsonData := `
- {
- "id": 5,
- "category": {
- "id": 6,
- "name": "test_category"
- },
- "name": "doggie",
- "photoUrls": [
- "photo_url_test"
- ],
- "tags": [
- {
- "id": 0,
- "name": "test_tags"
- }
- ],
- "status": "available"
- }
- `
-
- petData, err := deserialsePetJson(jsonData)
- if err != nil {
- t.Error(err.Error())
- return
- }
-
- if petData.Id != 5 {
- t.Errorf("Id was incorrect, got: %d, want: %d", petData.Id, 5)
- }
-
- if petData.Name != "doggie" {
- t.Errorf("Name was incorrect, got: %s, want: %s", petData.Name, "doggie")
- }
-
- if petData.Status != "available" {
- t.Errorf("Status was incorrect, got: %s, want: %s", petData.Status, "doggie")
- }
-
- if petData.Category.Id != 6 {
- t.Errorf("Category Id was incorrect, got: %d, want: %d", petData.Category.Id, 6)
- }
-
- if petData.Category.Name != "test_category" {
- t.Errorf("Category Name was incorrect, got: %s, want: %s", petData.Category.Name, "test_category")
- }
-
- if len(petData.PhotoUrls) != 1 && petData.PhotoUrls[0] != "photo_url_test" {
- t.Errorf("PhotoUrls was incorrect, length: %d", len(petData.PhotoUrls))
- }
-
- if len(petData.Tags) != 1 && petData.Tags[0].Id != 0 && petData.Tags[0].Name != "test_tags" {
- t.Errorf("Tags was incorrect, length: %d", len(petData.Tags))
- }
- }
-
- func TestDeserializePetJsonFail(t *testing.T) {
- jsonData := `
- {
- "invalid": "data"
- }
- `
-
- _, err := deserialsePetJson(jsonData)
- if err == nil {
- t.Error("Invalid data was provided, expected error was not thrown.")
- t.Error(err.Error())
- }
- }
|