def test_join(self): from lobbypy.models import Player, Lobby playerA = self.session.query(Player).first() playerB = Player(2) self.session.add(playerB) lobby = Lobby('Lobby', playerA, '', '', '') self.session.add(lobby) transaction.commit() from lobbypy.controllers import join lobby = self.session.merge(lobby) playerB = self.session.merge(playerB) join(self.session, lobby, playerB) transaction.commit() lobby = self.session.merge(lobby) playerB = self.session.merge(playerB) self.assertTrue(playerB in lobby.spectators)
def test_join_old_lobbies(self): from lobbypy.models import Player, Lobby playerA = self.session.query(Player).first() playerB = Player(2) playerC = Player(3) self.session.add(playerB) self.session.add(playerC) lobbyA = Lobby('Lobby', playerA, 'A', '', '') lobbyB = Lobby('Lobby', playerB, 'B', '', '') lobbyA.spectators.append(playerC) self.session.add(lobbyA) self.session.add(lobbyB) transaction.commit() from lobbypy.controllers import join lobbyB = self.session.merge(lobbyB) playerC = self.session.merge(playerC) join(self.session, lobbyB, playerC) transaction.commit() lobbyA = self.session.merge(lobbyA) lobbyB = self.session.merge(lobbyB) playerC = self.session.merge(playerC) self.assertTrue(playerC in lobbyB.spectators) self.assertTrue(playerC not in lobbyA.spectators)