[CORL 133] API Review (#2197)

* refactor: removed unused subscription code

* refactor: removed management api's

* refactor: cleanup of connections

* refactor: refactored comments edge

* refactor: simplified connection resolving

* feat: added story connection edge

* fix: added story index

* feat: added user pagination and user edge

* fix: added filter to comment query

* fix: removed unused resolvers

* fix: creating a comment reply should require auth

* refactor: cleanup of graph files

* feat: removed display name, made username non-unique

* fix: fixed tests

* fix: fixed tests

* fix: added more api docs

* fix: fixed bug with installer

* refactor: fixes and updates

* fix: added linting for graphql, fixed schema

* feat: added docker build tests

* fix: upped output timeout

* fix: fixed stacktraces in production builds

* fix: removed `git add`

- `git add` was causing issues with
    partial staged changs on files

* feat: improved error messaging for auth

* refactor: cleaned up queue names

* fix: merge error
This commit is contained in:
Wyatt Johnson
2019-03-12 15:12:21 +01:00
committed by Kiwi
parent 37959f9398
commit d37333be89
125 changed files with 1269 additions and 1536 deletions
@@ -11,7 +11,7 @@ exports[`accepts valid username 1`] = `
<p
className="Typography-root Typography-bodyCopy Typography-colorTextPrimary"
>
Your username is a unique identifier that will appear on all of your comments.
Your username is an identifier that will appear on all of your comments.
</p>
<div
className="HorizontalGutter-root FormField-root HorizontalGutter-half"
@@ -69,7 +69,7 @@ exports[`checks for invalid username 1`] = `
<p
className="Typography-root Typography-bodyCopy Typography-colorTextPrimary"
>
Your username is a unique identifier that will appear on all of your comments.
Your username is an identifier that will appear on all of your comments.
</p>
<div
className="HorizontalGutter-root FormField-root HorizontalGutter-half"
@@ -169,7 +169,7 @@ exports[`renders createUsername view 1`] = `
<p
className="Typography-root Typography-bodyCopy Typography-colorTextPrimary"
>
Your username is a unique identifier that will appear on all of your comments.
Your username is an identifier that will appear on all of your comments.
</p>
<div
className="HorizontalGutter-root FormField-root HorizontalGutter-half"
@@ -232,7 +232,7 @@ exports[`shows error when submitting empty form 1`] = `
<p
className="Typography-root Typography-bodyCopy Typography-colorTextPrimary"
>
Your username is a unique identifier that will appear on all of your comments.
Your username is an identifier that will appear on all of your comments.
</p>
<div
className="HorizontalGutter-root FormField-root HorizontalGutter-half"
@@ -303,7 +303,7 @@ exports[`shows server error 1`] = `
<p
className="Typography-root Typography-bodyCopy Typography-colorTextPrimary"
>
Your username is a unique identifier that will appear on all of your comments.
Your username is an identifier that will appear on all of your comments.
</p>
<div
className="CallOut-root CallOut-colorError CallOut-fullWidth"
@@ -373,7 +373,7 @@ exports[`successfully sets username 1`] = `
<p
className="Typography-root Typography-bodyCopy Typography-colorTextPrimary"
>
Your username is a unique identifier that will appear on all of your comments.
Your username is an identifier that will appear on all of your comments.
</p>
<div
className="HorizontalGutter-root FormField-root HorizontalGutter-half"
@@ -79,7 +79,7 @@ it("sign out when clicking on sign in as", async () => {
const restMock = sinon.mock(context.rest);
restMock
.expects("fetch")
.withArgs("/tenant/auth", {
.withArgs("/auth", {
method: "DELETE",
})
.once()
@@ -99,7 +99,7 @@ it("shows server error", async () => {
const restMock = sinon.mock(context.rest);
restMock
.expects("fetch")
.withArgs("/tenant/auth/local", {
.withArgs("/auth/local", {
method: "POST",
body: {
email: "hans@test.com",
@@ -133,7 +133,7 @@ it("submits form successfully", async () => {
const restMock = sinon.mock(context.rest);
restMock
.expects("fetch")
.withArgs("/tenant/auth/local", {
.withArgs("/auth/local", {
method: "POST",
body: {
email: "hans@test.com",
@@ -40,7 +40,7 @@ it("logs out", async () => {
const restMock = sinon.mock(context.rest);
restMock
.expects("fetch")
.withArgs("/tenant/auth", {
.withArgs("/auth", {
method: "DELETE",
})
.once()
@@ -1853,80 +1853,6 @@ exports[`renders configure auth 1`] = `
className="HorizontalGutter-root HorizontalGutter-double"
data-testid="configure-authContainer"
>
<div
className="HorizontalGutter-root HorizontalGutter-oneAndAHalf"
>
<h1
className="Typography-root Typography-heading1 Typography-colorTextPrimary Header-root"
>
Display Names
</h1>
<p
className="Typography-root Typography-detail Typography-colorTextPrimary"
>
Some Authentication Integrations include a Display Name as well as a User Name.
</p>
<p
className="Typography-root Typography-detail Typography-colorTextPrimary"
>
A User Name has to be unique (there can only be one Juan_Doe, for example),
whereas a Display Name does not. If your authentication provider allows for Display Names,
you can enable this option. This allows for fewer strange names (Juan_Doe23245)
however it could also be used to spoof/impersonate another user.
</p>
<div
className="HorizontalGutter-root FormField-root HorizontalGutter-half"
>
<div
className="Flex-root Flex-flex Flex-doubleItemGutter Flex-directionRow"
>
<div
className="Flex-root RadioButton-root Flex-flex Flex-alignCenter"
>
<input
checked={false}
className="RadioButton-input"
disabled={false}
id="auth.displayName.enabled-true"
name="auth.displayName.enabled"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
type="radio"
value={true}
/>
<label
className="RadioButton-label"
htmlFor="auth.displayName.enabled-true"
>
Show Display Names (if available)
</label>
</div>
<div
className="Flex-root RadioButton-root Flex-flex Flex-alignCenter"
>
<input
checked={true}
className="RadioButton-input"
disabled={false}
id="auth.displayName.enabled-false"
name="auth.displayName.enabled"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
type="radio"
value={false}
/>
<label
className="RadioButton-label"
htmlFor="auth.displayName.enabled-false"
>
Hide Display Names (if available)
</label>
</div>
</div>
</div>
</div>
<div
className="HorizontalGutter-root HorizontalGutter-double"
>
-6
View File
@@ -35,9 +35,6 @@ export const settings = {
},
},
auth: {
displayName: {
enabled: false,
},
integrations: {
local: {
enabled: true,
@@ -100,9 +97,6 @@ export const settingsWithEmptyAuth = {
...settings,
id: "settings",
auth: {
displayName: {
enabled: false,
},
integrations: {
local: {
enabled: true,
@@ -357,7 +357,7 @@ describe("rejected queue", () => {
const testRenderer = await createTestRenderer({
Query: {
comments: sinon.stub().callsFake((_, data) => {
expect(data).toEqual({ first: 5, filter: { status: "REJECTED" } });
expect(data).toEqual({ first: 5, status: "REJECTED" });
return {
edges: [
{
@@ -390,7 +390,7 @@ describe("rejected queue", () => {
s.onFirstCall().callsFake((_, data) => {
expect(data).toEqual({
first: 5,
filter: { status: "REJECTED" },
status: "REJECTED",
});
return {
edges: [
@@ -414,7 +414,7 @@ describe("rejected queue", () => {
expect(data).toEqual({
first: 10,
after: rejectedComments[1].createdAt,
filter: { status: "REJECTED" },
status: "REJECTED",
});
return {
edges: [
@@ -490,7 +490,7 @@ describe("rejected queue", () => {
const testRenderer = await createTestRenderer({
Query: {
comments: sinon.stub().callsFake((_, data) => {
expect(data).toEqual({ first: 5, filter: { status: "REJECTED" } });
expect(data).toEqual({ first: 5, status: "REJECTED" });
return {
edges: [
{