Adds updateHosts function cases

This commit is contained in:
Akshay Nair committed 2020-10-04 20:27:36 +05:30
1 parent d01aba314b
commit 9aeaeab812
2 files changed
+70 -12

No files matched your search

+59
View File
@@ -40,5 +40,64 @@ describe('Domain service', () => {
expect(onSet).toBeCalledTimes(1);
});
});
describe('updateHosts', () => {
it('should append new hosts with existing ones and set it', async () => {
const records = [
{ HostId: 1, HostName: 'a', RecordType: 'CNAME', Address: 'boo' },
{ HostId: 2, HostName: 'b', RecordType: 'CNAME', Address: 'goo' },
];
const onGet = () => Promise.resolve({ hosts: records });
const onSet = jest.fn(async () => ({}));
const mockDomainService = getDomainService({ Namecheap: getNcClass({ onSet, onGet }) });
await mockDomainService.updateHosts([
{ HostName: 'a', RecordType: 'CNAME', Address: 'boo' },
{ HostName: 'b', RecordType: 'CNAME', Address: 'goo' },
{ HostName: 'c', RecordType: 'A', Address: '12.131321.213' },
]);
console.log(onSet.mock.calls);
//expect(onSet).toBeCalledTimes(1);
});
it('should update matching host and set it', async () => {
const records = [
{ HostId: 1, HostName: 'a', RecordType: 'CNAME', Address: 'boo' },
{ HostId: 2, HostName: 'b', RecordType: 'CNAME', Address: 'goo' },
];
const onGet = () => Promise.resolve({ hosts: records });
const onSet = jest.fn(async () => ({}));
const mockDomainService = getDomainService({ Namecheap: getNcClass({ onSet, onGet }) });
await mockDomainService.updateHosts([
{ HostName: 'a', RecordType: 'CNAME', Address: 'boo' },
{ HostName: 'b', RecordType: 'CNAME', Address: 'googoogaga' },
]);
console.log(onSet.mock.calls);
//expect(onSet).toBeCalledTimes(1);
});
it('should maintain existing entries on the server', async () => {
const records = [
{ HostId: 1, HostName: 'a', RecordType: 'CNAME', Address: 'boo' },
{ HostId: 2, HostName: 'b', RecordType: 'CNAME', Address: 'goo' },
{ HostId: 3, HostName: 'c', RecordType: 'A', Address: '12.131321.213' },
];
const onGet = () => Promise.resolve({ hosts: records });
const onSet = jest.fn(async () => ({}));
const mockDomainService = getDomainService({ Namecheap: getNcClass({ onSet, onGet }) });
await mockDomainService.updateHosts([
{ HostName: 'a', RecordType: 'CNAME', Address: 'boo' },
{ HostName: 'b', RecordType: 'CNAME', Address: 'goo' },
]);
console.log(onSet.mock.calls);
// expect(onSet).toBeCalledTimes(1);
});
});
});