File size: 2,677 Bytes
abd754b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import pandas as pd

from queries.process_mrbts import process_mrbts_data
from utils.utils_vars import UtilsVars


def test_process_mrbts_data_normalizes_mrbts_before_merge(monkeypatch):
    dump_dfs = {
        "MRBTS": pd.DataFrame(
            {
                "MRBTS": ["9201", "9202"],
                "name": ["SITE_A", "SITE_B"],
                "btsName": ["BTS_A", "BTS_B"],
            }
        ),
        "GNBCF": pd.DataFrame(
            {
                "MRBTS": [9201, 9202],
                "bscId": [1, 2],
                "bcfId": [11, 22],
            }
        ),
        "WNBTS": pd.DataFrame(
            {
                "MRBTS": [9201.0, 9202.0],
                "wbtsId": [101, 202],
            }
        ),
        "ALD": pd.DataFrame(
            {
                "MRBTS": [9201, "9202"],
                "productCode": ["P1", "P2"],
            }
        ),
    }

    monkeypatch.setattr("queries.process_mrbts.read_dump_excel", lambda *args, **kwargs: dump_dfs)

    UtilsVars.all_db_dfs = [
        pd.DataFrame(
            {
                "ID_BCF": ["1_11", "2_22"],
                "site_name": ["GSM_A", "GSM_B"],
                "number_trx_per_bcf": [1, 2],
                "bcf_config_band": ["G900", "G1800"],
                "G1800 TRX Per BCF": [0, 1],
                "G900 TRX Per BCF": [1, 0],
            }
        ),
        pd.DataFrame(),
        pd.DataFrame(),
        pd.DataFrame(
            {
                "WBTS": [101, 202],
                "site_name": ["W_A", "W_B"],
                "wbts_config_band": ["U900", "U2100"],
                "Number of U2100 cells on WBTS": [0, 1],
                "Number of U900 cells on WBTS": [1, 0],
            }
        ),
        pd.DataFrame(
            {
                "MRBTS": [9201, 9202],
                "lnbts_name": ["L_A", "L_B"],
                "lte_config_band": ["L1800", "L800"],
                "Number of L1800 cells on MRBTS": [1, 0],
                "Number of L2600 cells on MRBTS": [0, 0],
                "Number of L800 cells on MRBTS": [0, 1],
            }
        ),
        pd.DataFrame(
            {
                "MRBTS": [9201, 9202],
                "lnbts_name": ["LT_A", "LT_B"],
                "lte_config_band": ["L2300", "L2300"],
                "Number of L2300 cells on MRBTS": [1, 1],
            }
        ),
    ]
    UtilsVars.all_db_dfs_names = []

    df_mrbts, _, _ = process_mrbts_data("dummy.xlsb")

    assert list(df_mrbts["MRBTS"]) == ["9201", "9202"]
    assert list(df_mrbts["ID_BCF"]) == ["1_11", "2_22"]
    assert list(df_mrbts["WBTS"]) == [101, 202]
    assert list(df_mrbts["productCode"]) == ["P1", "P2"]