def test_set_splat(dbpath): # Arrange expected = 'mage' # Insert fake data conn, cursor = dbhelpers.connect(dbpath) query = """INSERT INTO players (server, channel, player, flavour) VALUES (10, 11, 12, 1);""" cursor.execute(query) conn.commit() cursor.close() conn.close() # Create message mock message = MagicMock() message.guild.id = 10 message.channel.id = 11 message.author.id = 12 setting = 'mage' # Actual dbhelpers.set_splat(message, setting, dbpath) actual = dbhelpers.get_flavour(message, dbpath) # Assert assert expected == actual[1]
def test_get_flavour_default(dbpath): # Arrange expected = (1, 'default') message = MagicMock() message.guild.id = 10 message.channel.id = 11 message.author.id = 12 # Act actual = dbhelpers.get_flavour(message, dbpath) # Assert assert expected == actual
def test_get_flavour_update_last_roll(mock_datetime, dbpath): # Arrange # Insert data to fake db conn, cursor = dbhelpers.connect(dbpath) query = """INSERT INTO players (server, channel, player, last_roll) VALUES (10, 11, 12, '2020-04-01 12:34:56')""" cursor.execute(query) conn.commit() cursor.close() conn.close() # Create mock for datetime.datetine.now() expected = '2020-05-01 00:00:00' fake_now_dt = datetime.datetime.strptime(expected, '%Y-%m-%d %H:%M:%S') mock_datetime.datetime.now.return_value = fake_now_dt # Creat message mock message = MagicMock() message.guild.id = 10 message.channel.id = 11 message.author.id = 12 # Act dbhelpers.get_flavour(message, dbpath) # Assert # Get new values conn, cursor = dbhelpers.connect(dbpath) query = """SELECT last_roll FROM players""" cursor.execute(query) output = cursor.fetchone() actual = output[0] cursor.close() conn.close() assert expected == actual
def test_get_flavour(dbpath): # Arrange expected = (1, 'mage') conn, cursor = dbhelpers.connect(dbpath) query = """INSERT INTO players (server, channel, player, flavour, splat) VALUES (10, 11, 12, 1, 'mage')""" cursor.execute(query) conn.commit() cursor.close() conn.close() message = MagicMock() message.guild.id = 10 message.channel.id = 11 message.author.id = 12 # Act actual = dbhelpers.get_flavour(message, dbpath) # Assert assert expected == actual