Files
habitica/test/api/v3/integration/user/POST-user_read_card.test.js
Phillip Thelen f8d315ff6e Upgrade to mongoose 7 (#14971)
* remove some unused dependencies

* update mongoose version

* make common tests pass

* Make unit tests pass

* make api v3 integration tests pass

* fix lint issues

* fix issue with package-lock

* fix(lint): we don't need no .js

* fix(lint): update to latest config-habitrpg

* chore(npm): update package locks

* fix(test): replace deprecated fn

* chore(package): update eslint-habitrpg again

* fix(lint): server linting

* fix(lint): client linting

* fix(client): correct mangled common imports

* chore(npm): update package-locks

* fix(lint): punctuation, module

---------

Co-authored-by: SabreCat <sabrecat@gmail.com>
Co-authored-by: SabreCat <sabe@habitica.com>
2024-01-16 15:18:47 -06:00

47 lines
1.2 KiB
JavaScript

import {
generateUser,
translate as t,
} from '../../../../helpers/api-integration/v3';
describe('POST /user/read-card/:cardType', () => {
let user;
const cardType = 'greeting';
beforeEach(async () => {
user = await generateUser();
});
it('returns an error when unknown cardType is provded', async () => {
await expect(user.post('/user/read-card/randomCardType'))
.to.eventually.be.rejected.and.to.eql({
code: 401,
error: 'NotAuthorized',
message: t('cardTypeNotAllowed'),
});
});
// More tests in common code unit tests
it('reads a card', async () => {
await user.updateOne({
'items.special.greetingReceived': [true],
'flags.cardReceived': true,
notifications: [{
type: 'CARD_RECEIVED',
data: { card: cardType },
}],
});
await user.sync();
expect(user.notifications.length).to.equal(1);
const response = await user.post(`/user/read-card/${cardType}`);
await user.sync();
expect(response.message).to.equal(t('readCard', { cardType }));
expect(user.items.special[`${cardType}Received`]).to.be.empty;
expect(user.flags.cardReceived).to.be.false;
expect(user.notifications.length).to.equal(0);
});
});