diff --git a/tests/build-rss.test.js b/tests/build-rss.test.js
index 953b9da2bad..91d1de40935 100644
--- a/tests/build-rss.test.js
+++ b/tests/build-rss.test.js
@@ -29,14 +29,8 @@ describe('rssFeed', () => {
it('should generate RSS feed and write to file', async () => {
jest.doMock('../config/posts.json', () => mockRssData, { virtual: true });
- let error;
- try {
- await expect(rssFeed(type, title, desc, outputPath)).resolves.toBeUndefined()
- } catch (err) {
- error = err;
- }
+ await expect(rssFeed(type, title, desc, outputPath)).resolves.toBeUndefined()
- expect(error).toBeUndefined();
const filePath = path.join(__dirname, '..', 'public', outputPath);
expect(fs.existsSync(filePath)).toBe(true);
const fileContent = fs.readFileSync(filePath, 'utf8');
@@ -46,19 +40,14 @@ describe('rssFeed', () => {
it('should prioritize featured posts over non-featured ones', async () => {
jest.doMock('../config/posts.json', () => mockRssData, { virtual: true });
- let error;
- try {
- await expect(rssFeed(type, title, desc, outputPath)).resolves.toBeUndefined()
- } catch (err) {
- error = err
- }
+ await expect(rssFeed(type, title, desc, outputPath)).resolves.toBeUndefined()
+
const filePath = path.join(__dirname, '..', 'public', outputPath);
const fileContent = fs.readFileSync(filePath, 'utf8');
const itemTitles = fileContent.match(/
(.*?)<\/title>/g);
- expect(error).toBeUndefined();
expect(itemTitles[1]).toContain('Test Post 1');
expect(itemTitles[2]).toContain('Another Featured Post');
expect(itemTitles[3]).toContain('Non-Featured Post 1');
@@ -67,19 +56,13 @@ describe('rssFeed', () => {
it('should sort posts by date in descending order', async () => {
jest.doMock('../config/posts.json', () => mockRssData, { virtual: true });
- let error;
- try {
- await expect(rssFeed(type, title, desc, outputPath)).resolves.toBeUndefined()
- } catch (err) {
- error = err
- }
+ await expect(rssFeed(type, title, desc, outputPath)).resolves.toBeUndefined()
const filePath = path.join(__dirname, '..', 'public', outputPath);
const fileContent = fs.readFileSync(filePath, 'utf8');
const itemTitles = fileContent.match(/(.*?)<\/title>/g);
- expect(error).toBeUndefined();
expect(itemTitles[1]).toContain('Test Post 1');
expect(itemTitles[2]).toContain('Another Featured Post');
expect(itemTitles[3]).toContain('Non-Featured Post 1');
@@ -90,17 +73,11 @@ describe('rssFeed', () => {
it('should set correct enclosure type based on image extension', async () => {
jest.doMock('../config/posts.json', () => mockRssData, { virtual: true });
- let error;
- try {
- await expect(rssFeed(type, title, desc, outputPath)).resolves.toBeUndefined()
- } catch (err) {
- error = err
- }
+ await expect(rssFeed(type, title, desc, outputPath)).resolves.toBeUndefined()
const filePath = path.join(__dirname, '..', 'public', outputPath);
const fileContent = fs.readFileSync(filePath, 'utf8');
- expect(error).toBeUndefined();
expect(fileContent).toContain(' {
const invalidOutputPath = "invalid/path";
- let error;
- try {
- await expect(rssFeed(type, title, desc, invalidOutputPath)).rejects.toThrow(/ENOENT|EACCES/);
- } catch (err) {
- error = err;
- expect(error.message).toMatch(/ENOENT|EACCES/);
- }
+ await expect(rssFeed(type, title, desc, invalidOutputPath)).rejects.toThrow(/ENOENT|EACCES/);
+
});
it('should throw an error when posts.json is malformed', async () => {
@@ -128,28 +100,16 @@ describe('rssFeed', () => {
return { invalidKey: [] };
}, { virtual: true });
- let error;
- try {
- await expect(rssFeed(type, title, desc, outputPath)).rejects.toThrow('Failed to generate RSS feed');
- } catch (err) {
- error = err;
- expect(error).toBeDefined();
- expect(error.message).toContain('Failed to generate RSS feed');
- }
+ await expect(rssFeed(type, title, desc, outputPath)).rejects.toThrow('Failed to generate RSS feed');
+
});
it('should handle empty posts array', async () => {
const emptyMockData = { blog: [] };
jest.doMock('../config/posts.json', () => emptyMockData, { virtual: true });
- let error;
- try {
- await expect(rssFeed(type, title, desc, outputPath)).resolves.toBeUndefined()
- } catch (err) {
- error = err;
- }
+ await expect(rssFeed(type, title, desc, outputPath)).resolves.toBeUndefined()
- expect(error).toBeUndefined();
const filePath = path.join(__dirname, '..', 'public', outputPath);
const fileContent = fs.readFileSync(filePath, 'utf8');
expect(fileContent).toContain(' {
jest.doMock('../config/posts.json', () => incompletePostMockData, { virtual: true });
- let error;
- try {
- await expect(rssFeed(type, title, desc, outputPath)).rejects.toThrow('Missing required fields');
- } catch (err) {
- error = err;
- expect(error).toBeDefined();
- expect(error.message).toContain('Missing required fields');
- }
+ await expect(rssFeed(type, title, desc, outputPath)).rejects.toThrow('Missing required fields');
+
});
it('should throw an error when a post is missing a date field during sorting', async () => {
jest.doMock('../config/posts.json', () => missingDateMockData, { virtual: true });
- let error;
- try {
- await expect(rssFeed(type, title, desc, outputPath)).rejects.toThrow('Missing date in post data');
- } catch (err) {
- error = err;
- expect(error).toBeDefined();
- expect(error.message).toContain('Missing date in post data');
- }
+ await expect(rssFeed(type, title, desc, outputPath)).rejects.toThrow('Missing date in post data');
+
});
});