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

DaniSomoza / galactic-commander / 12699154897

09 Jan 2025 09:57PM UTC coverage: 47.774% (-4.3%) from 52.086%
12699154897

Pull #12

github

web-flow
Merge d46ff27a5 into a8e301a23
Pull Request #12: [fleets] Explore planets

214 of 917 branches covered (23.34%)

Branch coverage included in aggregate %.

118 of 418 new or added lines in 39 files covered. (28.23%)

4 existing lines in 3 files now uncovered.

1535 of 2744 relevant lines covered (55.94%)

3.49 hits per line

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

52.0
/packages/game-engine/src/repositories/taskRepository.ts
1
import mongoose from 'mongoose'
2

3
import getTaskModel from '../models/TaskModel'
4✔
4
import {
4✔
5
  ITask,
6
  NEW_PLAYER_TASK_TYPE,
7
  NewPlayerTaskType,
8
  PENDING_TASK_STATUS,
9
  StartBuildUnitsTaskType,
10
  StartFleetTaskType,
11
  StartResearchTaskType,
12
  TaskType
13
} from '../types/ITask'
14

15
async function getPendingTasks(universeId: mongoose.Types.ObjectId, second: number) {
16
  const taskModel = getTaskModel<TaskType>()
6✔
17
  return taskModel
6✔
18
    .find({
19
      status: PENDING_TASK_STATUS,
20
      universeId,
21
      $or: [{ executeTaskAt: { $lt: second } }, { executeTaskAt: null }]
22
    })
23
    .exec()
24
}
25

26
async function getPendingTasksByType(
27
  universeId: mongoose.Types.ObjectId,
28
  second: number,
29
  type: TaskType
30
) {
31
  const taskModel = getTaskModel<TaskType>()
92✔
32
  return taskModel
92✔
33
    .find({
34
      status: PENDING_TASK_STATUS,
35
      universeId,
36
      type,
37
      $or: [{ executeTaskAt: { $lt: second } }, { executeTaskAt: null }, { executeTaskAt: second }]
38
    })
39
    .exec()
40
}
41

42
async function createPlayerTask(taskData: ITask<NewPlayerTaskType>) {
43
  const NewPlayerTaskModel = getTaskModel<NewPlayerTaskType>()
×
44
  const newPlayerTask = new NewPlayerTaskModel(taskData)
×
45
  return newPlayerTask.save()
×
46
}
47

48
async function createStartResearchTask(taskData: ITask<StartResearchTaskType>) {
49
  const newStartResearchTaskModel = getTaskModel<StartResearchTaskType>()
×
50
  const newStartResearchTask = new newStartResearchTaskModel(taskData)
×
51
  return newStartResearchTask.save()
×
52
}
53

54
async function createStartBuildUnitsTask(taskData: ITask<StartBuildUnitsTaskType>) {
55
  const newStartBuildUnitsTaskModel = getTaskModel<StartBuildUnitsTaskType>()
×
56
  const newStartBuildUnitsTask = new newStartBuildUnitsTaskModel(taskData)
×
57
  return newStartBuildUnitsTask.save()
×
58
}
59

60
async function createStartFleetTask(taskData: ITask<StartFleetTaskType>) {
NEW
61
  const newFleetTaskModel = getTaskModel<StartFleetTaskType>()
×
NEW
62
  const newFleetTask = new newFleetTaskModel(taskData)
×
NEW
63
  return newFleetTask.save()
×
64
}
65

66
async function findNewPlayerTaskByUsername(
67
  username: string,
68
  universeId: mongoose.Types.ObjectId,
69
  status = PENDING_TASK_STATUS
4✔
70
) {
71
  const NewPlayerTaskModel = getTaskModel<NewPlayerTaskType>()
8✔
72
  return NewPlayerTaskModel.findOne({
8✔
73
    type: NEW_PLAYER_TASK_TYPE,
74
    'data.username': username,
75
    universeId,
76
    status
77
  }).exec()
78
}
79

80
async function findTaskById<Type extends TaskType>(taskId: mongoose.Types.ObjectId) {
81
  const NewPlayerTaskModel = getTaskModel<Type>()
14✔
82
  return NewPlayerTaskModel.findById(taskId).exec()
14✔
83
}
84

85
const taskRepository = {
4✔
86
  findTaskById,
87
  createPlayerTask,
88
  createStartFleetTask,
89
  createStartResearchTask,
90
  createStartBuildUnitsTask,
91
  getPendingTasks,
92
  getPendingTasksByType,
93
  findNewPlayerTaskByUsername
94
}
95

96
export default taskRepository
4✔
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