[F] Fix tests

pull/14/head
Azalea 2024-02-19 21:03:38 -05:00
parent 7ac7aacb6c
commit a716a69b8b
3 changed files with 20 additions and 19 deletions

View File

@ -13,42 +13,43 @@ import java.util.concurrent.ThreadLocalRandom
@Service @Service
class CardService(val cardRepo: CardRepository) { class CardService(val cardRepo: CardRepository) {
/** /**
* Find a card by External Id * Find a card by External ID
* @param extId External Id * @param extId External ID
* @return Optional of a Card * @return Optional of a Card
*/ */
fun getCardByExtId(extId: String): Optional<Card> = cardRepo.findByExtId(extId.toLong()) fun getCardByExtId(extId: String): Optional<Card> = cardRepo.findByExtId(extId.toLong())
/** /**
* Find a card by External Id * Find a card by External ID
* *
* @param extId External Id * @param extId External ID
* @return Optional of a Card * @return Optional of a Card
*/ */
fun getCardByExtId(extId: Long?): Optional<Card> = cardRepo.findByExtId(extId) fun getCardByExtId(extId: Long?): Optional<Card> = cardRepo.findByExtId(extId)
/** /**
* Find a card by it's access code * Find a card by its access code
* @param accessCode String represent of a access code * @param accessCode String represent of an access code
* @return Optional of a Card * @return Optional of a Card
*/ */
fun getCardByAccessCode(accessCode: String?): Optional<Card> = cardRepo.findByLuid(accessCode) fun getCardByAccessCode(accessCode: String?): Optional<Card> = cardRepo.findByLuid(accessCode)
/** /**
* Register a new card with access code * Register a new card with access code
* @param accessCode String represent of a access code * @param accessCode String represent of an access code
* @return a new registered Card * @return a new registered Card
*/ */
fun registerByAccessCode(accessCode: String?): Card { fun registerByAccessCode(accessCode: String?): Card {
val card = Card() var eid = ThreadLocalRandom.current().nextLong(99999999)
card.luid = accessCode while (cardRepo.findByExtId(eid).isPresent) {
var extId = ThreadLocalRandom.current().nextLong(99999999) eid = ThreadLocalRandom.current().nextLong(99999999)
while (cardRepo.findByExtId(extId).isPresent) {
extId = ThreadLocalRandom.current().nextLong(99999999)
} }
card.extId = extId
card.registerTime = LocalDateTime.now() return cardRepo.save(Card().apply {
card.accessTime = LocalDateTime.now() luid = accessCode
return cardRepo.save(card) extId = eid
registerTime = LocalDateTime.now()
accessTime = registerTime
})
} }
} }

View File

@ -21,7 +21,7 @@ class CardRepositoryTest {
@Test @Test
void findByExtId_Exists() { void findByExtId_Exists() {
cardRepository.save(new Card(1, 114514L, "01145141919810000000", LocalDateTime.now(), LocalDateTime.now())); cardRepository.save(new Card(1, 114514L, "01145141919810000000", LocalDateTime.now(), LocalDateTime.now(), null));
var c = cardRepository.findByExtId(114514L); var c = cardRepository.findByExtId(114514L);

View File

@ -13,7 +13,7 @@ public class CardHelper {
public static Card getCard() { public static Card getCard() {
var now = LocalDateTime.now(); var now = LocalDateTime.now();
return new Card(1L, 114514L, "01145141919810000000", now, now); return new Card(1L, 114514L, "01145141919810000000", now, now, null);
} }
public static Card getRandomCard() { public static Card getRandomCard() {
@ -27,6 +27,6 @@ public class CardHelper {
for (int i = 0; i < "114514".length(); i++) for (int i = 0; i < "114514".length(); i++)
extId = extId * 10 + rand.nextInt(10); extId = extId * 10 + rand.nextInt(10);
return new Card(0, extId, luid, now, now); return new Card(0, extId, luid, now, now, null);
} }
} }