• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Seniru / defendxstore / 14091969004

26 Mar 2025 07:35PM UTC coverage: 64.797% (-6.3%) from 71.123%
14091969004

push

github

web-flow
feat: user interfaces and backend (partial) (#46)

* feat: add inventory management (#37)

* feat: add inventory management

* feat: updated inventory management with relevant changes

* Prettier applied

* chore: restore package json configurations

* update: minor styling changes

* feat: supply and sales management (#26)

* feat: create supply management

* feat:SalesManagement Tables,buttons design

* update: prettify

* feat:create revenue,profit,cost charts

---------

Co-authored-by: Seniru Pasan Indira <senirupasan@gmail.com>

* feat: home page (#43)

* feat: add inventory management

* feat: updated inventory management with relevant changes

* Prettier applied

* feat: item component created.Home page completed.

* test

* updated : rename images

---------

Co-authored-by: Seniru Pasan Indira <senirupasan@gmail.com>

* fix: minor fixes

* feat: product page (#45)

* feat: add inventory management

* feat: updated inventory management with relevant changes

* Prettier applied

* feat: item component created.Home page completed.

* test

* updated : rename images

* feat: add checkout page with product details and styling

* fix: updated

* feat: product page done

* feat: refactor product page done the chnages

* refactor: clean up Product page styles and update size guide link

* style: update ProductCard styles and add price formatting

* style: rename product image class to fix

* pretiffy applied

* style: edited css conflitcs

---------

Co-authored-by: Seniru Pasan Indira <senirupasan@gmail.com>

* fix: display profile image

* feat: integrate profile with api

* update: integrate user management with api

* test: add tests for user crud

* feat: create review (#48)

* feat: review

* update:review

---------

Co-authored-by: Seniru Pasan Indira <senirupasan@gmail.com>

* feat: create ticketing ui (#50)

* feat: create forum page

* feat: create forum thread page

* feat: create ticket system interface

---------
Closes #13
Closes #14
... (continued)

91 of 151 branches covered (60.26%)

Branch coverage included in aggregate %.

137 of 301 new or added lines in 20 files covered. (45.51%)

1 existing line in 1 file now uncovered.

371 of 562 relevant lines covered (66.01%)

16.93 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

19.57
/backend/src/controllers/forums.js
1
const { StatusCodes } = require("http-status-codes")
3✔
2
const createResponse = require("../utils/createResponse")
3✔
3
const ForumThread = require("../models/ForumThread")
3✔
4

5
const createThread = async (req, res, next) => {
3✔
NEW
6
    try {
×
NEW
7
        const { title, content, category } = req.body
×
NEW
8
        const user = req.user
×
NEW
9
        const thread = new ForumThread({
×
10
            title,
11
            category,
12
            content,
13
            createdDate: Date.now(),
14
            date: Date.now(),
15
            username: user.username,
16
        })
NEW
17
        await thread.save()
×
NEW
18
        return createResponse(res, StatusCodes.CREATED, "Created")
×
19
    } catch (error) {
NEW
20
        next(error)
×
21
    }
22
}
23

24
const getAllThreads = async (req, res, next) => {
3✔
NEW
25
    try {
×
NEW
26
        const user = req.user
×
NEW
27
        const forums = await ForumThread.find({}).exec()
×
NEW
28
        return createResponse(res, StatusCodes.OK, forums)
×
29
    } catch (error) {
NEW
30
        next(error)
×
31
    }
32
}
33

34
const getThread = async (req, res, next) => {
3✔
NEW
35
    try {
×
NEW
36
        const { threadId } = req.params
×
NEW
37
        const thread = await ForumThread.find({ _id: threadId }).exec()
×
NEW
38
        if (!thread) return createResponse(res, StatusCodes.NOT_FOUND, "Thread not found")
×
NEW
39
        return createResponse(res, StatusCodes.OK, thread)
×
40
    } catch (error) {
NEW
41
        next(error)
×
42
    }
43
}
44

45
const editThread = async (req, res, next) => {
3✔
NEW
46
    try {
×
NEW
47
        const { threadId } = req.params
×
NEW
48
        const { title, content, category } = req.body
×
NEW
49
        const thread = await ForumThread.findOneAndUpdate(
×
50
            { _id: threadId },
51
            { title, content, category, editedDate: Date.now() },
52
        ).exec()
NEW
53
        if (!thread) return createResponse(res, StatusCodes.NOT_FOUND, "Thread not found")
×
NEW
54
        return createResponse(res, StatusCodes.OK, "Thread updated")
×
55
    } catch (error) {
NEW
56
        next(error)
×
57
    }
58
}
59

60
const deleteThread = async (req, res, next) => {
3✔
NEW
61
    try {
×
NEW
62
        const { threadId } = req.params
×
NEW
63
        const forumThread = await ForumThread.findOneAndDelete({ _id: threadId }).exec()
×
NEW
64
        if (!forumThread) return createResponse(res, StatusCodes.NOT_FOUND, "Thread not found")
×
NEW
65
        return createResponse(res, StatusCodes.OK, "Thread deleted")
×
66
    } catch (error) {
NEW
67
        next(error)
×
68
    }
69
}
70

71
module.exports = {
3✔
72
    createThread,
73
    getAllThreads,
74
    getThread,
75
    editThread,
76
    deleteThread,
77
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc