From 8146fa6ebdc2e98b310f98448b96873f754e05e6 Mon Sep 17 00:00:00 2001
From: Daniel Krol <orblivion@gmail.com>
Date: Fri, 17 Jun 2022 15:39:12 -0400
Subject: [PATCH] Implement register success test

---
 server/register_test.go | 30 +++++++++++++++++++++++++++++-
 1 file changed, 29 insertions(+), 1 deletion(-)

diff --git a/server/register_test.go b/server/register_test.go
index 5b5d0f5..fbdda7b 100644
--- a/server/register_test.go
+++ b/server/register_test.go
@@ -1,11 +1,39 @@
 package server
 
 import (
+	"bytes"
+	"io/ioutil"
+	"net/http"
+	"net/http/httptest"
 	"testing"
+
+	"orblivion/lbry-id/auth"
 )
 
 func TestServerRegisterSuccess(t *testing.T) {
-	t.Fatalf("Test me:")
+	testAuth := TestAuth{TestToken: auth.TokenString("seekrit")}
+	testStore := TestStore{}
+	s := Server{&testAuth, &testStore}
+
+	requestBody := []byte(`{"email": "abc@example.com", "password": "123"}`)
+
+	req := httptest.NewRequest(http.MethodPost, PathRegister, bytes.NewBuffer(requestBody))
+	w := httptest.NewRecorder()
+
+	s.register(w, req)
+	body, _ := ioutil.ReadAll(w.Body)
+
+	if want, got := http.StatusCreated, w.Result().StatusCode; want != got {
+		t.Errorf("StatusCode: expected %s (%d), got %s (%d)", http.StatusText(want), want, http.StatusText(got), got)
+	}
+
+	if string(body) != "{}" {
+		t.Errorf("Expected register response to be \"{}\": result: %+v", string(body))
+	}
+
+	if !testStore.Called.CreateAccount {
+		t.Errorf("Expected Store.CreateAccount to be called")
+	}
 }
 
 func TestServerRegisterErrors(t *testing.T) {