(t, tree, expectedOrder, bfs)
| 175 | } |
| 176 | |
| 177 | async function _testBasicGraphCreation(t, tree, expectedOrder, bfs) { |
| 178 | if (bfs === undefined) { |
| 179 | throw new Error("Test error: Parameter 'bfs' must be specified"); |
| 180 | } |
| 181 | const {graphFromObject, sinon} = t.context; |
| 182 | const projectGraph = await graphFromObject({dependencyTree: tree}); |
| 183 | const callbackStub = sinon.stub().resolves(); |
| 184 | if (bfs) { |
| 185 | await projectGraph.traverseBreadthFirst(callbackStub); |
| 186 | } else { |
| 187 | await projectGraph.traverseDepthFirst(callbackStub); |
| 188 | } |
| 189 | |
| 190 | t.is(callbackStub.callCount, expectedOrder.length, "Correct number of projects have been visited"); |
| 191 | |
| 192 | const callbackCalls = callbackStub.getCalls().map((call) => call.args[0].project.getName()); |
| 193 | |
| 194 | t.deepEqual(callbackCalls, expectedOrder, "Traversed graph in correct order"); |
| 195 | return projectGraph; |
| 196 | } |
| 197 | |
| 198 | test("Project with inline configuration", async (t) => { |
| 199 | const tree = { |
no test coverage detected