public ActionResult AddRoom(int numberRoom, float prizePerDay) { TempData["IsLogged"] = true; TempData["BadNumber"] = ""; Room room = new Room(); RoomStore roomStore = new RoomStore(); if (roomStore.IsNumberReserved(numberRoom)) { TempData["BadNumber"] = "Taki numer już istnieje. Dodawanie nie powiodlo sie"; return(View("CreateRoom")); } /*else if(numberRoom =="" || prizePerDay ==0) * { * TempData["BadNumber"] = "Nie podano wystarczajych danych"; * return View("CreateRoom"); * }*/ else { room.Number = numberRoom; room.PrizePerDay = prizePerDay; roomStore.AddRoom(room); TempData["BadNumber"] = "Dodano pokój"; return(View("CreateRoom")); } }
public void TestGetNonExistentRoom() { var roomStore = RoomStore.Create(new DynamoTable(true)); var roomFromDb = roomStore.GetRoom("not-a-room"); Assert.That(roomFromDb, Is.Null); }
public void TestCanStartGame() { const string roomCode = "AAAA"; const string word = "Thing"; var room = new Room(); room.AddPerson("person-1", "jacob"); room.AddPerson("person-2", "anita"); room.AddPerson("person-3", "robin"); var dynamoTable = new Mock <IDynamoTable>(); dynamoTable.Setup(foo => foo.GetRoom(roomCode)).Returns(room); var roomStore = RoomStore.Create(dynamoTable.Object); roomStore.StartGame(roomCode, word, new HashSet <string> { "person-1" }, "person-2"); var expectedRoom = new Room(); expectedRoom.AddPerson("person-1", "jacob"); expectedRoom.SetCharacter("person-1", "chameleon"); expectedRoom.AddPerson("person-2", "anita"); expectedRoom.SetCharacter("person-2", word); expectedRoom.AddPerson("person-3", "robin"); expectedRoom.SetCharacter("person-3", word); dynamoTable.Verify(x => x.SaveRoom(It.Is <Room>(y => y.IsTheSameAs(expectedRoom))), Times.Once); }
public ActionResult GoToEditRoom(long roomId) { TempData["IsLogged"] = true; RoomStore roomStore = new RoomStore(); Room room = roomStore.GetRoomById(roomId); return(View("EditRoom", room)); }
public void TestCanSaveRoom() { var roomStore = RoomStore.Create(new DynamoTable(true)); var room = roomStore.CreateRoom(); var personAdded = roomStore.CreatePersonInRoom(room.RoomCode, "Jacob"); var roomFromDb = roomStore.GetRoom(room.RoomCode); Assert.That(roomFromDb.PersonIds.Count, Is.EqualTo(1)); Assert.That(roomFromDb.PersonIds.First(), Is.EqualTo(personAdded)); }
public ActionResult EditRoom(float prizePerDay, long roomId) { TempData["IsLogged"] = true; User user = (User)TempData["user2"]; RoomStore roomStore = new RoomStore(); Room oldRoom = roomStore.GetRoomById(roomId); Room updRoom = oldRoom; updRoom.PrizePerDay = prizePerDay; roomStore.EditRoom(updRoom, roomId); return(RedirectToAction("ShowRooms", new { userNick = user.NickName, role = user.UserRole })); }
public ActionResult DeleteRoom(long roomId) { TempData["IsLogged"] = true; User user = (User)TempData["user2"]; RoomStore roomStore = new RoomStore(); if (!roomStore.DeleteRoomByID(roomId)) { TempData["BadDelete"] = "Nie mozna usunac pokoju"; } else { TempData["BadDelete"] = "Pokoj usunieto"; } return(RedirectToAction("ShowRooms", new { userNick = user.NickName, role = user.UserRole })); }
public ActionResult ShowRooms(string userNick, Role role) { TempData["IsLogged"] = true; // TempData["BadDelete"] = ""; User user = new User(); user.NickName = userNick; user.UserRole = role; TempData["mydata"] = user; Room room = new Room(); RoomStore roomStore = new RoomStore(); room.AllRooms = roomStore.GetAllRooms(); TempData["user2"] = user; return(View("AllRooms", room)); }
public void CanPlayGame() { var chameleonGame = ChameleonGame.Create(RoomStore.Create(new InMemoryDynamoTable())); // Creating and joining the room var personAndRoom = chameleonGame.CreateRoom("Anita"); var roomCode = personAndRoom.RoomCode; var anita = personAndRoom.PersonId; var jacob = chameleonGame.JoinRoom(roomCode, "Jacob").PersonId; var paul = chameleonGame.JoinRoom(roomCode, "Paul").PersonId; // Getting the status var status = chameleonGame.GetRoomStatus(roomCode, anita); Assert.That(status.Name, Is.EqualTo("Anita")); Assert.That(status.PeopleCount, Is.EqualTo(3)); Assert.That(status.State, Is.EqualTo(RoomState.PreGame.ToString())); Assert.That(status.Character, Is.Null); Assert.That(status.FirstPersonName, Is.Null); // Starting a game chameleonGame.StartGame(roomCode, jacob); var inGameStatus = chameleonGame.GetRoomStatus(roomCode, paul); Assert.That(inGameStatus.State, Is.EqualTo(RoomState.InGame.ToString())); Assert.That(inGameStatus.Character, Is.Not.Null); Assert.That(inGameStatus.FirstPersonName, Is.AnyOf("Anita", "Jacob", "Paul")); // Leaving a room chameleonGame.LeaveRoom(roomCode, paul); var afterLeavingStatus = chameleonGame.GetRoomStatus(roomCode, anita); Assert.That(afterLeavingStatus.PeopleCount, Is.EqualTo(2)); // A new player joining a room with an existing game var anna = chameleonGame.JoinRoom(roomCode, "Anna").PersonId; var newPlayerStatus = chameleonGame.GetRoomStatus(roomCode, anna); Assert.That(newPlayerStatus.State, Is.EqualTo(RoomState.PreGame.ToString())); Assert.That(newPlayerStatus.Character, Is.Null); Assert.That(newPlayerStatus.FirstPersonName, Is.Null); }
public void TestCanCreateRoom() { var existingRoom = new Room { RoomCode = "ABCD" }; var dynamoTable = new Mock <IDynamoTable>(); dynamoTable.Setup(foo => foo.GetRoom(existingRoom.RoomCode)).Returns(existingRoom); var randomRoomCode = new Mock <IRandomRoomCode>(); randomRoomCode.Setup(x => x.Generate()) .Returns("WXYZ"); var roomStore = RoomStore.Create(dynamoTable.Object, randomRoomCode.Object); roomStore.CreateRoom(); dynamoTable.Verify(x => x.SaveRoom(It.Is <Room>(y => y.RoomCode == "WXYZ")), Times.Once); }
public void TestCreateRoomDoesNotCauseInfiniteLoop() { var existingRoom = new Room { RoomCode = "ABCD" }; var dynamoTable = new Mock <IDynamoTable>(); dynamoTable.Setup(foo => foo.GetRoom(existingRoom.RoomCode)).Returns(existingRoom); var randomRoomCode = new Mock <IRandomRoomCode>(); randomRoomCode.Setup(x => x.Generate()) .Returns(existingRoom.RoomCode); var roomStore = RoomStore.Create(dynamoTable.Object, randomRoomCode.Object); Assert.Throws <CouldNotFindAvailableRoomCodeException>(() => roomStore.CreateRoom()); dynamoTable.Verify( x => x.SaveRoom(It.IsAny <Room>()), Times.Never); }
public void TestCanRemovePersonFromRoom() { const string roomCode = "AAAA"; var room = new Room(); room.AddPerson("person-1", "jacob"); room.AddPerson("person-2", "anita"); room.AddPerson("person-3", "robin"); var dynamoTable = new Mock <IDynamoTable>(); dynamoTable.Setup(foo => foo.GetRoom(roomCode)).Returns(room); var roomStore = RoomStore.Create(dynamoTable.Object); roomStore.RemovePersonFromRoom(roomCode, "person-1"); var expectedRoom = new Room(); expectedRoom.AddPerson("person-2", "anita"); expectedRoom.AddPerson("person-3", "robin"); dynamoTable.Verify(x => x.SaveRoom(It.Is <Room>(y => y.IsTheSameAs(expectedRoom))), Times.Once); }
public RoomController(RoomStore roomStore) { _roomStore = roomStore; }
private ChameleonGame(IRoomStore roomStore) { _roomStore = roomStore ?? RoomStore.Create(); }