chore: Add some tests
All checks were successful
Pull Request Labeler / labeler (pull_request_target) Successful in 5s
CI / Get Changed Files (pull_request) Successful in 11s
Label PRs based on size / Check PR size (pull_request) Successful in 11s
Claude PR Review / claude-code (pull_request) Successful in 33s
CI / eslint (pull_request) Successful in 40s
CI / oxlint (pull_request) Successful in 46s
CI / prettier (pull_request) Successful in 50s
CI / Docker backend validation (pull_request) Successful in 34s
CI / Docker frontend validation (pull_request) Successful in 1m27s
CI / test-build (pull_request) Successful in 1m32s
CI / Checkstyle Main (pull_request) Successful in 1m43s
CI / Backend Tests (pull_request) Successful in 2m31s
CI / Playwright (pull_request) Successful in 2m18s
All checks were successful
Pull Request Labeler / labeler (pull_request_target) Successful in 5s
CI / Get Changed Files (pull_request) Successful in 11s
Label PRs based on size / Check PR size (pull_request) Successful in 11s
Claude PR Review / claude-code (pull_request) Successful in 33s
CI / eslint (pull_request) Successful in 40s
CI / oxlint (pull_request) Successful in 46s
CI / prettier (pull_request) Successful in 50s
CI / Docker backend validation (pull_request) Successful in 34s
CI / Docker frontend validation (pull_request) Successful in 1m27s
CI / test-build (pull_request) Successful in 1m32s
CI / Checkstyle Main (pull_request) Successful in 1m43s
CI / Backend Tests (pull_request) Successful in 2m31s
CI / Playwright (pull_request) Successful in 2m18s
This commit is contained in:
parent
551f5bcf2e
commit
e828efdfa7
13 changed files with 224 additions and 15 deletions
|
@ -55,6 +55,7 @@ dependencies {
|
|||
runtimeOnly("io.jsonwebtoken:jjwt-impl:0.12.6")
|
||||
runtimeOnly("io.jsonwebtoken:jjwt-jackson:0.12.6")
|
||||
implementation("org.springframework.boot:spring-boot-starter-mail")
|
||||
runtimeOnly("com.h2database:h2")
|
||||
}
|
||||
|
||||
tasks.withType<Test> {
|
||||
|
|
|
@ -49,33 +49,32 @@ public class CasinoApplication {
|
|||
lootBoxRepository.saveAll(Arrays.asList(basicLootBox, premiumLootBox));
|
||||
|
||||
RewardEntity commonReward = new RewardEntity();
|
||||
commonReward.setValue(new BigDecimal("0.50"));
|
||||
commonReward.setRewardValue(new BigDecimal("0.50"));
|
||||
commonReward.setProbability(new BigDecimal("0.7"));
|
||||
|
||||
RewardEntity rareReward = new RewardEntity();
|
||||
rareReward.setValue(new BigDecimal("2.00"));
|
||||
rareReward.setRewardValue(new BigDecimal("2.00"));
|
||||
rareReward.setProbability(new BigDecimal("0.25"));
|
||||
|
||||
RewardEntity epicReward = new RewardEntity();
|
||||
epicReward.setValue(new BigDecimal("5.00"));
|
||||
epicReward.setRewardValue(new BigDecimal("5.00"));
|
||||
epicReward.setProbability(new BigDecimal("0.5"));
|
||||
|
||||
RewardEntity premiumCommon = new RewardEntity();
|
||||
premiumCommon.setValue(new BigDecimal("2.00"));
|
||||
premiumCommon.setRewardValue(new BigDecimal("2.00"));
|
||||
premiumCommon.setProbability(new BigDecimal("0.6"));
|
||||
|
||||
RewardEntity premiumRare = new RewardEntity();
|
||||
premiumRare.setValue(new BigDecimal("5.00"));
|
||||
premiumRare.setRewardValue(new BigDecimal("5.00"));
|
||||
premiumRare.setProbability(new BigDecimal("0.3"));
|
||||
|
||||
RewardEntity legendaryReward = new RewardEntity();
|
||||
legendaryReward.setValue(new BigDecimal("15.00"));
|
||||
legendaryReward.setRewardValue(new BigDecimal("15.00"));
|
||||
legendaryReward.setProbability(new BigDecimal("0.10"));
|
||||
|
||||
rewardRepository.saveAll(Arrays.asList(
|
||||
commonReward, rareReward, epicReward,
|
||||
premiumCommon, premiumRare, legendaryReward
|
||||
));
|
||||
premiumCommon, premiumRare, legendaryReward));
|
||||
|
||||
basicLootBox.getRewards().add(commonReward);
|
||||
basicLootBox.getRewards().add(premiumRare);
|
||||
|
|
|
@ -34,7 +34,7 @@ public class LootBoxService {
|
|||
|
||||
public void handleBalance(UserEntity user, LootBoxEntity lootBox, RewardEntity reward) {
|
||||
user.setBalance(user.getBalance().subtract(lootBox.getPrice()));
|
||||
user.setBalance(user.getBalance().add(reward.getValue()));
|
||||
user.setBalance(user.getBalance().add(reward.getRewardValue()));
|
||||
userRepository.save(user);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ import java.util.List;
|
|||
public class RewardEntity {
|
||||
|
||||
public RewardEntity(BigDecimal value, BigDecimal probability) {
|
||||
this.value = value;
|
||||
this.rewardValue = value;
|
||||
this.probability = probability;
|
||||
}
|
||||
|
||||
|
@ -26,7 +26,7 @@ public class RewardEntity {
|
|||
private Long id;
|
||||
|
||||
@Column(precision = 19, scale = 2)
|
||||
private BigDecimal value;
|
||||
private BigDecimal rewardValue;
|
||||
|
||||
@Column(precision = 5, scale = 2)
|
||||
private BigDecimal probability;
|
||||
|
|
58
backend/src/main/resources/application-inmemory.properties
Normal file
58
backend/src/main/resources/application-inmemory.properties
Normal file
|
@ -0,0 +1,58 @@
|
|||
spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1
|
||||
spring.datasource.driverClassName=org.h2.Driver
|
||||
spring.datasource.username=sa
|
||||
spring.datasource.password=
|
||||
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
|
||||
|
||||
spring.jpa.hibernate.ddl-auto=create-drop
|
||||
|
||||
server.port=${HTTP_PORT:8080}
|
||||
stripe.secret.key=${STRIPE_SECRET_KEY:sk_test_51QrePYIvCfqz7ANgqam8rEwWcMeKiLOof3j6SCMgu2sl4sESP45DJxca16mWcYo1sQaiBv32CMR6Z4AAAGQPCJo300ubuZKO8I}
|
||||
stripe.webhook.secret=${STRIPE_WEBHOOK_SECRET:whsec_746b6a488665f6057118bdb4a2b32f4916f16c277109eeaed5e8f8e8b81b8c15}
|
||||
|
||||
app.frontend-host=${FE_URL:http://localhost:4200}
|
||||
|
||||
app.mail.authentication=${MAIL_AUTHENTICATION:false}
|
||||
app.mail.host=${MAIL_HOST:localhost}
|
||||
app.mail.port=${MAIL_PORT:1025}
|
||||
app.mail.username=${MAIL_USER:null}
|
||||
app.mail.password=${MAIL_PASS:null}
|
||||
app.mail.from-address=${MAIL_FROM:casino@localhost}
|
||||
app.mail.protocol=${MAIL_PROTOCOL:smtp}
|
||||
|
||||
spring.application.name=casino
|
||||
|
||||
# JWT Configuration
|
||||
jwt.secret=${JWT_SECRET:5367566B59703373367639792F423F4528482B4D6251655468576D5A71347437}
|
||||
jwt.expiration.ms=${JWT_EXPIRATION_MS:86400000}
|
||||
|
||||
# Logging
|
||||
logging.level.org.springframework.security=DEBUG
|
||||
|
||||
# Swagger
|
||||
springdoc.swagger-ui.path=swagger
|
||||
springdoc.swagger-ui.try-it-out-enabled=true
|
||||
|
||||
# GitHub OAuth2 Configuration
|
||||
spring.security.oauth2.client.registration.github.client-id=${GITHUB_CLIENT_ID:Ov23lingzZsPn1wwACoK}
|
||||
spring.security.oauth2.client.registration.github.client-secret=${GITHUB_CLIENT_SECRET:4b327fb3b1ab67584a03bcb9d53fa6439fbccad7}
|
||||
spring.security.oauth2.client.registration.github.redirect-uri=${app.frontend-host}/oauth2/callback/github
|
||||
spring.security.oauth2.client.registration.github.scope=user:email,read:user
|
||||
spring.security.oauth2.client.provider.github.authorization-uri=https://github.com/login/oauth/authorize
|
||||
spring.security.oauth2.client.provider.github.token-uri=https://github.com/login/oauth/access_token
|
||||
spring.security.oauth2.client.provider.github.user-info-uri=https://api.github.com/user
|
||||
spring.security.oauth2.client.provider.github.user-name-attribute=login
|
||||
|
||||
# OAuth Success and Failure URLs
|
||||
app.oauth2.authorizedRedirectUris=${app.frontend-host}/auth/oauth2/callback
|
||||
|
||||
# Google OAuth2 Configuration
|
||||
spring.security.oauth2.client.registration.google.client-id=${GOOGLE_CLIENT_ID:350791038883-c1r7v4o793itq8a0rh7dut7itm7uneam.apps.googleusercontent.com}
|
||||
spring.security.oauth2.client.registration.google.client-secret=${GOOGLE_CLIENT_SECRET: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}
|
||||
spring.security.oauth2.client.registration.google.redirect-uri=${app.frontend-host}/oauth2/callback/google
|
||||
spring.security.oauth2.client.registration.google.scope=email,profile
|
||||
spring.security.oauth2.client.provider.google.authorization-uri=https://accounts.google.com/o/oauth2/v2/auth
|
||||
spring.security.oauth2.client.provider.google.token-uri=https://oauth2.googleapis.com/token
|
||||
spring.security.oauth2.client.provider.google.user-info-uri=https://www.googleapis.com/oauth2/v3/userinfo
|
||||
spring.security.oauth2.client.provider.google.user-name-attribute=sub
|
||||
|
Reference in a new issue