Skip to content

Commit

Permalink
more tests pass with redis
Browse files Browse the repository at this point in the history
  • Loading branch information
lperson committed Apr 28, 2024
1 parent 0304ebb commit 951c8df
Show file tree
Hide file tree
Showing 8 changed files with 26 additions and 20 deletions.
4 changes: 2 additions & 2 deletions __test__/server/models/question-response.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ describe("questionResponse cacheableData methods", () => {
steps: 3,
choices: 2
});
const interactionSteps = await r.knex("interaction_step").select();
await r.knex("interaction_step").select();

let saveResult = await cacheableData.questionResponse.save(cid, [
{ interactionStepId: "1", value: "hmm1" }
Expand All @@ -41,7 +41,7 @@ describe("questionResponse cacheableData methods", () => {
expect(questionResponses.length).toBe(1);
expect(questionResponses[0].value).toBe("hmm1");
expect(questionResponses[0].interaction_step_id).toBe(1);
let firstCreatedAt = questionResponses[0].created_at;
const firstCreatedAt = questionResponses[0].created_at;
// cached
questionResponses = await cacheableData.questionResponse.query(cid, true);
expect(questionResponses.length).toBe(1);
Expand Down
10 changes: 5 additions & 5 deletions __test__/test_helpers.js
Original file line number Diff line number Diff line change
Expand Up @@ -468,15 +468,15 @@ export async function assignTexter(admin, user, campaign, assignments) {
const rootValue = {};
const campaignEditQuery = `
mutation editCampaign($campaignId: String!, $campaign: CampaignInput!) {
editCampaign(id: $campaignId, campaign: $campaign) {
editCampaign(
id: $campaignId,
campaign: $campaign) {
id
assignments {
id
}
assignments { id }
}
}`;
const contextValue = getContext({ user: admin });
const updateCampaign = Object.assign({}, campaign);
const updateCampaign = { ...campaign };
const campaignId = updateCampaign.id;
updateCampaign.texters = assignments || [
{
Expand Down
5 changes: 3 additions & 2 deletions src/server/api/mutations/joinOrganization.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ const INVALID_JOIN = () => {
return error;
};

// eslint-disable-next-line import/prefer-default-export
export const joinOrganization = async (
_,
{ organizationUuid, campaignId, queryParams },
Expand Down Expand Up @@ -64,8 +65,8 @@ export const joinOrganization = async (
userOrg = await r
.knex("user_organization")
.where({
user_id: user.id,
organization_id: organization.id
user_id: user.id.toString(),
organization_id: organization.id.toString()
})
.select("role")
.first();
Expand Down
10 changes: 7 additions & 3 deletions src/server/api/schema.js
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ async function editCampaign(id, campaign, loaders, user, origCampaignRecord) {
campaign.organizationId || origCampaignRecord.organization_id;
await accessRequired(
user,
organizationId,
organizationId.toString(),
"SUPERVOLUNTEER",
/* superadmin*/ true
);
Expand Down Expand Up @@ -410,7 +410,10 @@ async function editCampaign(id, campaign, loaders, user, origCampaignRecord) {
});
}

return Campaign.get(id);
const toReturn = await Campaign.get(id.toString());
toReturn.id = toReturn.id.toString();
toReturn.organization_id = toReturn.organization_id.toString();
return toReturn;
}

async function updateInteractionSteps(
Expand Down Expand Up @@ -1044,7 +1047,7 @@ const rootMutations = {
} else {
await accessRequired(
user,
origCampaign.organization_id,
origCampaign.organization_id.toString(),
"SUPERVOLUNTEER"
);
}
Expand Down Expand Up @@ -1130,6 +1133,7 @@ const rootMutations = {
{ conflict: "update" }
);

newOrganization.id = newOrganization.id.toString();
return newOrganization;
},
resetOrganizationJoinLink: async (_, { organizationId }, { user }) => {
Expand Down
2 changes: 1 addition & 1 deletion src/server/models/cacheable_queries/campaign-contact.js
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ export const getCacheContactAssignment = async (id, campaignId, contactObj) => {
if (r.redis) {
const contactAssignment = await r.redis.HGET(
contactAssignmentKey(campaignId),
id
id.toString()
);
if (contactAssignment) {
// eslint-disable-next-line camelcase
Expand Down
9 changes: 5 additions & 4 deletions src/server/models/cacheable_queries/campaign.js
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ const currentEditors = async (campaign, user) => {
);
await r.redis.EXPIRE(`campaign_editors_${campaign.id}`, 120);

let editors = await r.redis.hgetall(`campaign_editors_${campaign.id}`);
let editors = await r.redis.HGETALL(`campaign_editors_${campaign.id}`);

// Only get editors that were active in the last 2 mins, and exclude the
// current user
Expand All @@ -162,7 +162,7 @@ const currentEditors = async (campaign, user) => {
const load = async (id, opts) => {
// console.log('campaign cache load', id)
if (r.redis) {
let campaignData = await r.redis.get(cacheKey(id));
let campaignData = await r.redis.get(cacheKey(id.toString()));
let campaignObj = campaignData ? JSON.parse(campaignData) : null;
// console.log('pre campaign cache', campaignObj)
if (
Expand Down Expand Up @@ -202,6 +202,7 @@ const load = async (id, opts) => {
"contactsCount",
...counts
]);
campaign.id = campaign.id.toString();
return campaign;
}
}
Expand Down Expand Up @@ -242,8 +243,8 @@ const campaignCache = {
dbInteractionSteps,
completionStats: async id => {
if (r.redis) {
const data = await r.redis.hgetall(infoCacheKey(id));
return data || {};
const data = await r.redis.HGETALL(infoCacheKey(id));
return Object.keys(data).length > 0 ? data : {};
}
return {};
},
Expand Down
2 changes: 1 addition & 1 deletion src/server/models/cacheable_queries/message.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ const saveMessageCache = async (contactId, contactMessages, overwriteFull) => {
}

await redisQ
.lpush(
.LPUSH(
key,
contactMessages.map(m =>
JSON.stringify({
Expand Down
4 changes: 2 additions & 2 deletions src/server/models/cacheable_queries/user.js
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,8 @@ const dbLoadUserRoles = async userId => {

const loadUserRoles = async userId => {
if (r.redis) {
const roles = await r.redis.hgetall(userRoleKey(userId));
if (roles) {
const roles = await r.redis.HGETALL(userRoleKey(userId));
if (Object.keys(roles).length > 0) {
const userRoles = {};
Object.keys(roles).forEach(orgId => {
const [highestRole, orgName] = roles[orgId].split(":");
Expand Down

0 comments on commit 951c8df

Please sign in to comment.