Ein Eintrag kostet genau einmal, die Rueckkehr ist ein weiteres Glied
An einem Eintrag konnten zwei Buchungen haengen - etwa Kulanz und ein gekauftes Redesign nebeneinander -, und aufloesen liess sich das nirgends. Jetzt raeumt sowohl das Nachrechnen als auch das Umstellen der Bezahlart auf: es bleibt die aelteste passende, der Rest wird storniert. Die Rueckkehr eines redesignten oder gestorbenen CCs bucht deshalb nicht mehr zusaetzlich, sondern erschafft ihn noch einmal: derselbe CC als weiteres Glied ueber dem alten, und das kostet ein Redesign wie jedes andere. Mit einem CC-Guthaben beginnt er stattdessen eine eigene Liste und kann neben seinem Nachfolger laufen. Ein entzogener Platz nimmt seine Buchung mit - sonst waere die Rueckkehr umsonst oder stuende als zweite Buchung am selben Eintrag.
This commit is contained in:
@@ -682,14 +682,12 @@ describe('Einzelne Mitglieder fallen aus', () => {
|
||||
(error: Error & { code?: string }) => error.code === 'NEED_KIND',
|
||||
);
|
||||
|
||||
// Sein Platz war entzogen, also kostet die Rückkehr wieder einen - in
|
||||
// seiner Liste steht der CC ganz unten.
|
||||
const vorher = await credits.getBalances(partner);
|
||||
await characters.reactivateMember(character.id, partner, { useKind: 'REDESIGN_PAID' }, ctx);
|
||||
await characters.reactivateMember(character.id, partner, { useKind: 'CC' }, ctx);
|
||||
|
||||
assert.equal(
|
||||
(await credits.getBalances(partner)).REDESIGN_PAID,
|
||||
vorher.REDESIGN_PAID - 1,
|
||||
'bezahlt',
|
||||
);
|
||||
assert.equal((await credits.getBalances(partner)).CC, vorher.CC - 1, 'bezahlt');
|
||||
});
|
||||
|
||||
it('verlangt für die Rückkehr eines Gestorbenen eine Begründung', async () => {
|
||||
|
||||
Reference in New Issue
Block a user