summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKjetil Orbekk <kj@orbekk.com>2022-12-16 08:40:07 -0500
committerKjetil Orbekk <kj@orbekk.com>2022-12-16 08:40:07 -0500
commitcebd93586f32fb47cea2f86b9c87f9daea3da9b0 (patch)
tree69858ca585fcbbdc780e0fa3122bd97f6a9a7d1e
parent2205edfa06f3c9ddecfca2f01afc0f5e88c7d6fc (diff)
Failing test for advance_play()
-rw-r--r--protocol/src/bridge_engine.rs8
-rw-r--r--server/src/fake_auth.rs3
-rw-r--r--server/src/main.rs2
-rw-r--r--server/src/play.rs17
4 files changed, 24 insertions, 6 deletions
diff --git a/protocol/src/bridge_engine.rs b/protocol/src/bridge_engine.rs
index 0eb9c1e..ec88183 100644
--- a/protocol/src/bridge_engine.rs
+++ b/protocol/src/bridge_engine.rs
@@ -573,6 +573,14 @@ impl GameState {
}
}
+ pub fn current_player(&self) -> Option<Player> {
+ match self {
+ GameState::Bidding(bidding) => Some(bidding.bidding.current_bidder()),
+ GameState::Play(_) => todo!(),
+ GameState::PassedOut { dealer, deal, bidding } => None,
+ }
+ }
+
pub fn is_bidding(&self) -> bool {
if let GameState::Bidding { .. } = self {
true
diff --git a/server/src/fake_auth.rs b/server/src/fake_auth.rs
index d19d858..c0574af 100644
--- a/server/src/fake_auth.rs
+++ b/server/src/fake_auth.rs
@@ -5,10 +5,9 @@ use std::{
};
use async_trait::async_trait;
-use chrono::{DateTime, Utc};
+use chrono::Utc;
use openidconnect::{RefreshToken, AccessToken};
use reqwest::Url;
-use tracing::info;
use crate::{
auth::{AuthenticatedSession, Authenticator, SessionId, store_authenticated_session},
diff --git a/server/src/main.rs b/server/src/main.rs
index cf42b3f..95e23e6 100644
--- a/server/src/main.rs
+++ b/server/src/main.rs
@@ -119,8 +119,6 @@ async fn main() {
#[cfg(debug_assertions)]
async fn fake_login() -> Html<&'static str> {
- use axum::response::Html;
-
Html(r#"
<!DOCTYPE html>
<html lang="en">
diff --git a/server/src/play.rs b/server/src/play.rs
index 33a14f9..9ea2f42 100644
--- a/server/src/play.rs
+++ b/server/src/play.rs
@@ -1,5 +1,5 @@
use async_trait::async_trait;
-use protocol::{bridge_engine::{self, GameState, Player, Bid, Deal}};
+use protocol::{bridge_engine::{GameState, Player, Bid, Deal}};
use rand::random;
use serde::{Deserialize, Serialize};
use serde_json::json;
@@ -109,7 +109,7 @@ impl<J: Journal> Table<J> {
}
async fn init(journal: &mut J) -> Result<GameState, BridgeError> {
- let game = GameState::new(random(), Player::East);
+ let game = GameState::new(random(), random());
journal.append(0, json!(game)).await?;
Ok(game)
}
@@ -132,6 +132,11 @@ impl<J: Journal> Table<J> {
}
}
+
+pub fn advance_play<J: Journal>(table: &mut Table<J>) {
+ todo!()
+}
+
#[cfg(test)]
mod test {
use super::*;
@@ -198,4 +203,12 @@ mod test {
let t2 = Table::replay(journal).await.unwrap();
assert_eq!(game, t2.game);
}
+
+ #[tokio::test]
+ async fn test_advance_play() {
+ let mut t1: Table<TestJournal> = Table::new(Default::default()).await.unwrap();
+ let player = t1.game().current_player();
+ advance_play(&mut t1);
+ assert_ne!(player, t1.game().current_player());
+ }
}