test/unit/helpers.agreement-signature.js
import test from 'ava';
import {
client,
AgreementSignature,
} from '../../src';
// See tests.js for testing client creation
test.before('start server', () => {
client.apiBaseUrl = 'https://somesite.Clinical6.com';
client.authToken = 'valid_token';
});
test.beforeEach((t) => {
client.cache = 'never';
client.authToken = 'valid_token';
t.context.agreementSignatureJsonApi = {
type: 'agreement__signatures',
attributes: {
role: 'role',
status: 'status',
sign_url: 'url',
signed_at: '2018-05-04T18:47:01Z',
signed_by_email: 'email@p6.com'
}
};
t.context.agreementSignatureJson = {
type: 'agreement__signatures',
role: 'role',
status: 'status',
sign_url: 'url',
signed_at: '2018-05-04T18:47:01Z',
signed_by_email: 'email@p6.com'
};
client.storageUtility.clear();
t.context.storage = client.storageUtility;
client.agreementSignature = new AgreementSignature({});
t.context.agreementSignature = new AgreementSignature({ data: t.context.agreementSignatureJsonApi });
});
/**
* @test {AgreementSignature}
*/
test('[unit] AgreementSignature should handle agreementSignature data with a normal json format', (t) => {
const { agreementSignatureJson } = t.context;
const agreementSignature = new AgreementSignature(agreementSignatureJson);
t.is(agreementSignature.type, 'agreement__signatures');
t.is(agreementSignature.role, 'role');
t.is(agreementSignature.status, 'status');
t.is(agreementSignature.signedAt, '2018-05-04T18:47:01Z');
t.is(agreementSignature.signedByEmail, 'email@p6.com');
});
/**
* @test {AgreementSignature}
*/
test('[unit] AgreementSignature should handle agreementSignature data with json api format', (t) => {
const { agreementSignatureJsonApi } = t.context;
const agreementSignature = new AgreementSignature({ data: agreementSignatureJsonApi });
t.is(agreementSignature.type, 'agreement__signatures');
t.is(agreementSignature.role, 'role');
t.is(agreementSignature.status, 'status');
t.is(agreementSignature.signedAt, '2018-05-04T18:47:01Z');
t.is(agreementSignature.signedByEmail, 'email@p6.com');
});
/**
* @test {AgreementSignature}
*/
test('[unit] AgreementSignature should generate json api format when converted to string', (t) => {
const { agreementSignatureJsonApi } = t.context;
let consentStrategy = new AgreementSignature({ data: agreementSignatureJsonApi });
t.deepEqual(consentStrategy.toJSON(), agreementSignatureJsonApi);
consentStrategy = new AgreementSignature({ data: agreementSignatureJsonApi });
t.deepEqual(consentStrategy.toJSON(), agreementSignatureJsonApi);
});