Support staged group shipment funding
Verify and publish checkpoint container / container (push) Canceled after 0s
Verify and publish checkpoint container / container (push) Canceled after 0s
This commit is contained in:
1 parent
624f95dde4
commit
34aa64cdef
13 files changed
+828
-16
No files matched your search
@@ -4,6 +4,7 @@ import { baseDeck } from '../game/cards';
|
||||
import { applyAction, createGame, newPlayer, viewGame, type Action, type Game } from '../game/engine';
|
||||
import { createRicheseNoField } from '../game/richese-no-field';
|
||||
import type { CoalitionState } from '../game/coalition-alliance';
|
||||
import { isAlliedShipmentVisit } from '../game/allied-separation';
|
||||
|
||||
/** Controlled Basic phase and force placement; the three-member group is
|
||||
* staged because Nexus cannot create one yet. No full-game claim is made. */
|
||||
@@ -68,6 +69,15 @@ void test('ordinary movement cannot enter either group ally territory', () => {
|
||||
assert.deepEqual(game, before);
|
||||
});
|
||||
|
||||
void test('the player view gives the shared transit quote the public group membership', () => {
|
||||
const game = fixture();
|
||||
const view = viewGame(game, 'a');
|
||||
const own = view.players.find(player => player.id === 'a')!;
|
||||
assert.equal(isAlliedShipmentVisit(view, own, 'imperial_basin'), true);
|
||||
assert.equal(isAlliedShipmentVisit(view, own, 'polar_sink'), false);
|
||||
assert.equal(Object.hasOwn(view, 'coalitionEscrow'), false);
|
||||
});
|
||||
|
||||
void test('a three-member group visitor can ship then depart without losing its pre-arrival forces', () => {
|
||||
const original = fixture(); let game = ship(original);
|
||||
assert.equal(game.players[0].spice, 4);
|
||||
|
||||
Reference in new issue
Block a user