Exemplo n.º 1
0
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]
Exemplo n.º 2
0
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
Exemplo n.º 3
0
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
Exemplo n.º 4
0
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