Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 65 additions & 13 deletions api-js/src/dmarc-summaries/objects/__tests__/dmarc-summary.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -121,21 +121,71 @@ describe('testing the period gql object', () => {
})
})
describe('testing the month resolver', () => {
it('returns the resolved value', () => {
const demoType = dmarcSummaryType.getFields()

expect(demoType.month.resolve({ startDate: '2021-01-01' }, {}, { moment })).toEqual(
'january',
)
describe('startDate is set to thirty days', () => {
let mockedMoment
beforeEach(() => {
mockedMoment = jest.fn().mockReturnValue({
month() {
return {
format() {
return 'january'
},
}
},
})
})
it('returns the resolved value', () => {
const demoType = dmarcSummaryType.getFields()

expect(
demoType.month.resolve(
{ startDate: 'thirtyDays' },
{},
{ moment: mockedMoment },
),
).toEqual('january')
})
})
describe('startDate is not set to thirty days', () => {
it('returns the resolved value', () => {
const demoType = dmarcSummaryType.getFields()

expect(
demoType.month.resolve({ startDate: '2021-01-01' }, {}, { moment }),
).toEqual('january')
})
})
})
describe('testing the year resolver', () => {
it('returns the resolved value', () => {
const demoType = dmarcSummaryType.getFields()

expect(
demoType.year.resolve({ startDate: '2020-01-01' }, {}, { moment }),
).toEqual('2020')
describe('start date is set to thirty days', () => {
let mockedMoment
beforeEach(() => {
mockedMoment = jest.fn().mockReturnValue({
year() {
return '2020'
},
})
})
it('returns the resolved value', () => {
const demoType = dmarcSummaryType.getFields()

expect(
demoType.year.resolve(
{ startDate: '2020-01-01' },
{},
{ moment: mockedMoment },
),
).toEqual('2020')
})
})
describe('start date is not set to thirty days', () => {
it('returns the resolved value', () => {
const demoType = dmarcSummaryType.getFields()

expect(
demoType.year.resolve({ startDate: '2020-01-01' }, {}, { moment }),
).toEqual('2020')
})
})
})
describe('testing the categoryPercentages resolver', () => {
Expand Down Expand Up @@ -186,7 +236,9 @@ describe('testing the period gql object', () => {
_to: 'domains/1',
}

expect(demoType.detailTables.resolve(data)).toEqual({ _to: 'domains/1' })
expect(demoType.detailTables.resolve(data)).toEqual({
_to: 'domains/1',
})
})
})
})
Expand Down
18 changes: 15 additions & 3 deletions api-js/src/dmarc-summaries/objects/dmarc-summary.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,27 @@ export const dmarcSummaryType = new GraphQLObjectType({
type: PeriodEnums,
description: 'Start date of data collection.',
resolve: ({ startDate }, _, { moment }) => {
const month = moment(startDate).month()
let month
if (startDate === 'thirtyDays') {
month = moment().month()
} else {
month = moment(startDate).month()
}
return String(moment().month(month).format('MMMM')).toLowerCase()
},
},
year: {
type: Year,
description: 'End date of data collection.',
resolve: ({ startDate }, _, { moment }) =>
String(moment(startDate).year()),
resolve: ({ startDate }, _, { moment }) => {
let year
if (startDate === 'thirtyDays') {
year = String(moment().year())
} else {
year = String(moment(startDate).year())
}
return year
},
},
categoryPercentages: {
type: categoryPercentagesType,
Expand Down
4 changes: 2 additions & 2 deletions api-js/src/domain/objects/__tests__/domain.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -403,7 +403,7 @@ describe('given the domain object', () => {
const expectedEdgeCursor = await query`
FOR edge IN domainsToDmarcSummaries
FILTER edge.startDate == "2021-01-01"
RETURN edge
RETURN MERGE({ domainKey: ${domainOne._id} }, edge)
`
const expectedEdge = await expectedEdgeCursor.next()

Expand Down Expand Up @@ -516,7 +516,7 @@ describe('given the domain object', () => {
it('returns the resolved value', async () => {
const expectedEdgesCursor = await query`
FOR edge IN domainsToDmarcSummaries
RETURN edge
RETURN MERGE({ domainKey: ${domainOne._id} }, edge)
`
const expectedResult = await expectedEdgesCursor.all()

Expand Down
10 changes: 8 additions & 2 deletions api-js/src/domain/objects/domain.js
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ export const domainType = new GraphQLObjectType({
startDate,
})

return dmarcSummaryEdge
return { domainKey: _id, ...dmarcSummaryEdge }
},
},
yearlyDmarcSummaries: {
Expand Down Expand Up @@ -154,7 +154,13 @@ export const domainType = new GraphQLObjectType({
const dmarcSummaryEdges = await dmarcYearlySumEdgeLoader({
domainId: _id,
})
return dmarcSummaryEdges

const edges = dmarcSummaryEdges.map((edge) => ({
domainKey: _id,
...edge,
}))

return edges
},
},
}),
Expand Down