xref: /expo/apps/test-suite/tests/Cellular.js (revision 191a2fb0)
1import * as Cellular from 'expo-cellular';
2import * as Network from 'expo-network';
3
4export const name = 'Cellular';
5
6export async function test({ describe, it, expect, jasmine }) {
7  describe('Cellular.allowsVoip', () => {
8    it('returns a boolean', () => {
9      const allowsVoip = Cellular.allowsVoip;
10
11      expect(allowsVoip).toEqual(jasmine.any(Boolean));
12    });
13  });
14  describe('Cellular.carrier', () => {
15    it('returns a String or null', () => {
16      const carrier = Cellular.carrier;
17      // nullable
18      expect(carrier).toEqual(jasmine.any(String) || null);
19    });
20  });
21  describe('Cellular.isoCountryCode', () => {
22    it('returns a String or null', () => {
23      const isoCountryCode = Cellular.isoCountryCode;
24      // nullable
25      expect(isoCountryCode).toEqual(jasmine.any(String) || null);
26    });
27  });
28  describe('Cellular.mobileCountryCode', () => {
29    it('returns a String or null', () => {
30      const mobileCountryCode = Cellular.mobileCountryCode;
31      // nullable
32      expect(mobileCountryCode).toEqual(jasmine.any(String) || null);
33    });
34  });
35  describe('Cellular.mobileNetworkCode', () => {
36    it('returns a String or null', () => {
37      const mobileNetworkCode = Cellular.mobileNetworkCode;
38      // nullable
39      expect(mobileNetworkCode).toEqual(jasmine.any(String) || null);
40    });
41  });
42
43  describe('Cellular.getCellularGenerationAsync()', () => {
44    it('returns an enum value of Cellular.Cellular Generation', async () => {
45      let hasError = false;
46      let cellularGeneration;
47      const CellularGenerationEnumValues = [0, 1, 2, 3];
48
49      try {
50        cellularGeneration = await Cellular.getCellularGenerationAsync();
51      } catch (e) {
52        hasError = true;
53        console.log(e);
54      }
55
56      expect(hasError).toBe(false);
57      expect(cellularGeneration).toEqual(jasmine.any(Number));
58      expect(CellularGenerationEnumValues.includes(cellularGeneration)).toBe(true);
59    });
60  });
61
62  // TODO: What about if airplane mode is on?
63}
64