|
1 | | -// /* |
2 | | -// * Copyright 2018 NEM |
3 | | -// * |
4 | | -// * Licensed under the Apache License, Version 2.0 (the "License"); |
5 | | -// * you may not use this file except in compliance with the License. |
6 | | -// * You may obtain a copy of the License at |
7 | | -// * |
8 | | -// * http://www.apache.org/licenses/LICENSE-2.0 |
9 | | -// * |
10 | | -// * Unless required by applicable law or agreed to in writing, software |
11 | | -// * distributed under the License is distributed on an "AS IS" BASIS, |
12 | | -// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
13 | | -// * See the License for the specific language governing permissions and |
14 | | -// * limitations under the License. |
15 | | -// */ |
| 1 | +/* |
| 2 | + * Copyright 2018 NEM |
| 3 | + * |
| 4 | + * Licensed under the Apache License, Version 2.0 (the "License"); |
| 5 | + * you may not use this file except in compliance with the License. |
| 6 | + * You may obtain a copy of the License at |
| 7 | + * |
| 8 | + * http://www.apache.org/licenses/LICENSE-2.0 |
| 9 | + * |
| 10 | + * Unless required by applicable law or agreed to in writing, software |
| 11 | + * distributed under the License is distributed on an "AS IS" BASIS, |
| 12 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 13 | + * See the License for the specific language governing permissions and |
| 14 | + * limitations under the License. |
| 15 | + */ |
16 | 16 |
|
17 | | -// import {expect} from 'chai'; |
18 | | -// import {Observable, of as observableOf} from 'rxjs'; |
19 | | -// import {deepEqual, instance, mock, when} from 'ts-mockito'; |
20 | | -// import {NamespaceHttp} from '../../src/infrastructure/NamespaceHttp'; |
21 | | -// import {PublicAccount} from '../../src/model/account/PublicAccount'; |
22 | | -// import {NetworkType} from '../../src/model/blockchain/NetworkType'; |
23 | | -// import {EmptyAlias} from '../../src/model/namespace/EmptyAlias'; |
24 | | -// import {NamespaceId} from '../../src/model/namespace/NamespaceId'; |
25 | | -// import {NamespaceInfo} from '../../src/model/namespace/NamespaceInfo'; |
26 | | -// import {NamespaceName} from '../../src/model/namespace/NamespaceName'; |
27 | | -// import {UInt64} from '../../src/model/UInt64'; |
28 | | -// import {NamespaceService} from '../../src/service/NamespaceService'; |
| 17 | +import {expect} from 'chai'; |
| 18 | +import {Observable, of as observableOf} from 'rxjs'; |
| 19 | +import {deepEqual, instance, mock, when} from 'ts-mockito'; |
| 20 | +import {NamespaceHttp} from '../../src/infrastructure/NamespaceHttp'; |
| 21 | +import {PublicAccount} from '../../src/model/account/PublicAccount'; |
| 22 | +import {NetworkType} from '../../src/model/blockchain/NetworkType'; |
| 23 | +import {EmptyAlias} from '../../src/model/namespace/EmptyAlias'; |
| 24 | +import {NamespaceId} from '../../src/model/namespace/NamespaceId'; |
| 25 | +import {NamespaceInfo} from '../../src/model/namespace/NamespaceInfo'; |
| 26 | +import {NamespaceName} from '../../src/model/namespace/NamespaceName'; |
| 27 | +import {UInt64} from '../../src/model/UInt64'; |
| 28 | +import {NamespaceService} from '../../src/service/NamespaceService'; |
29 | 29 |
|
30 | | -// describe('NamespaceService', () => { |
31 | | -// let namespaceService: NamespaceService; |
32 | | -// let rootNamespace: NamespaceInfo; |
33 | | -// let subnamespace: NamespaceInfo; |
| 30 | +describe('NamespaceService', () => { |
34 | 31 |
|
35 | | -// before(() => { |
36 | | -// const mockedNamespaceHttp = mock(NamespaceHttp); |
37 | | -// rootNamespace = givenRootNamespace(); |
38 | | -// subnamespace = givenSubnamespace(); |
39 | | -// // e43f43d2c5a8f299 rootNamespace.id.toHex() |
40 | | -// // f7ce33276a3288c1 subnamespace.id.toHex() |
41 | | -// when(mockedNamespaceHttp.getNamespace(rootNamespace.id)) |
42 | | -// .thenReturn(observableOf(rootNamespace)); |
43 | | -// when(mockedNamespaceHttp.getNamespace(subnamespace.id)) |
44 | | -// .thenReturn(observableOf(subnamespace)); |
| 32 | + it('should return the NamespaceInfo + name for a root namespace', () => { |
| 33 | + const mockedNamespaceHttp = mock(NamespaceHttp); |
| 34 | + const rootNamespace = givenRootNamespace(); |
| 35 | + const subnamespace = givenSubnamespace(); |
| 36 | + when(mockedNamespaceHttp.getNamespace(rootNamespace.id)) |
| 37 | + .thenReturn(observableOf(rootNamespace)); |
| 38 | + when(mockedNamespaceHttp.getNamespace(subnamespace.id)) |
| 39 | + .thenReturn(observableOf(subnamespace)); |
| 40 | + when(mockedNamespaceHttp.getNamespacesName(deepEqual([rootNamespace.id]))) |
| 41 | + .thenReturn(observableOf([new NamespaceName(new NamespaceId([3316183705, 3829351378]), 'nem2tests')])); |
| 42 | + when(mockedNamespaceHttp.getNamespacesName(deepEqual([rootNamespace.id, subnamespace.id]))) |
| 43 | + .thenReturn(observableOf([ |
| 44 | + new NamespaceName(new NamespaceId([3316183705, 3829351378]), 'nem2tests'), |
| 45 | + new NamespaceName(new NamespaceId([1781696705, 4157485863]), 'level2'), |
| 46 | + ])); |
| 47 | + const namespaceHttp = instance(mockedNamespaceHttp); |
| 48 | + const namespaceService = new NamespaceService(namespaceHttp); |
| 49 | + namespaceService.namespace(rootNamespace.id).subscribe((namespace) => { |
| 50 | + expect(namespace.name).to.be.equal('nem2tests'); |
| 51 | + }); |
| 52 | + }); |
45 | 53 |
|
46 | | -// when(mockedNamespaceHttp.getNamespacesName(deepEqual([rootNamespace.id]))) |
47 | | -// .thenReturn(observableOf([new NamespaceName(new NamespaceId([3316183705, 3829351378]), 'nem2tests')])); |
48 | | -// when(mockedNamespaceHttp.getNamespacesName(deepEqual([subnamespace.id]))) |
49 | | -// .thenReturn(observableOf([new NamespaceName(new NamespaceId([1781696705, 4157485863]), 'level2')])); |
50 | | -// when(mockedNamespaceHttp.getNamespacesName(deepEqual([rootNamespace.id, subnamespace.id]))) |
51 | | -// .thenReturn(observableOf([ |
52 | | -// new NamespaceName(new NamespaceId([3316183705, 3829351378]), 'nem2tests'), |
53 | | -// new NamespaceName(new NamespaceId([1781696705, 4157485863]), 'level2'), |
54 | | -// ])); |
55 | | -// const namespaceHttp = instance(mockedNamespaceHttp); |
56 | | -// namespaceService = new NamespaceService(namespaceHttp); |
57 | | -// }); |
| 54 | + it('should return the NamespaceInfo + name for a subnamespace', () => { |
| 55 | + const mockedNamespaceHttp = mock(NamespaceHttp); |
| 56 | + const rootNamespace = givenRootNamespace(); |
| 57 | + const subnamespace = givenSubnamespace(); |
| 58 | + when(mockedNamespaceHttp.getNamespace(rootNamespace.id)) |
| 59 | + .thenReturn(observableOf(rootNamespace)); |
| 60 | + when(mockedNamespaceHttp.getNamespace(subnamespace.id)) |
| 61 | + .thenReturn(observableOf(subnamespace)); |
| 62 | + when(mockedNamespaceHttp.getNamespacesName(deepEqual([rootNamespace.id]))) |
| 63 | + .thenReturn(observableOf([new NamespaceName(new NamespaceId([3316183705, 3829351378]), 'nem2tests')])); |
| 64 | + when(mockedNamespaceHttp.getNamespacesName(deepEqual([subnamespace.id]))) |
| 65 | + .thenReturn(observableOf([new NamespaceName(new NamespaceId([1781696705, 4157485863]), 'level2')])); |
| 66 | + when(mockedNamespaceHttp.getNamespacesName(deepEqual([rootNamespace.id, subnamespace.id]))) |
| 67 | + .thenReturn(observableOf([ |
| 68 | + new NamespaceName(new NamespaceId([3316183705, 3829351378]), 'nem2tests'), |
| 69 | + new NamespaceName(new NamespaceId([1781696705, 4157485863]), 'level2'), |
| 70 | + ])); |
| 71 | + const namespaceHttp = instance(mockedNamespaceHttp); |
| 72 | + const namespaceService = new NamespaceService(namespaceHttp); |
58 | 73 |
|
59 | | -// it('should return the NamespaceInfo + name for a root namespace', () => { |
60 | | -// namespaceService.namespace(rootNamespace.id).subscribe((namespace) => { |
61 | | -// expect(namespace.name).to.be.equal('nem2tests'); |
62 | | -// }); |
63 | | -// }); |
| 74 | + namespaceService.namespace(subnamespace.id).subscribe((namespace) => { |
| 75 | + expect(namespace.name).to.be.equal('nem2tests.level2'); |
| 76 | + }); |
| 77 | + }); |
64 | 78 |
|
65 | | -// it('should return the NamespaceInfo + name for a subnamespace', () => { |
66 | | -// namespaceService.namespace(subnamespace.id).subscribe((namespace) => { |
67 | | -// expect(namespace.name).to.be.equal('nem2tests.level2'); |
68 | | -// }); |
69 | | -// }); |
| 79 | + function givenRootNamespace(): NamespaceInfo { |
| 80 | + return new NamespaceInfo(true, |
| 81 | + 0, |
| 82 | + '59DFBA84B2E9E7000135E80C', |
| 83 | + 0, |
| 84 | + 1, |
| 85 | + [new NamespaceId([ |
| 86 | + 3316183705, |
| 87 | + 3829351378, |
| 88 | + ])], |
| 89 | + new NamespaceId([0, 0]), |
| 90 | + PublicAccount.createFromPublicKey('1026D70E1954775749C6811084D6450A3184D977383F0E4282CD47118AF37755', NetworkType.MIJIN_TEST), |
| 91 | + new UInt64([795, 0]), |
| 92 | + new UInt64([50795, 0]), |
| 93 | + new EmptyAlias()); |
| 94 | + } |
70 | 95 |
|
71 | | -// function givenRootNamespace(): NamespaceInfo { |
72 | | -// return new NamespaceInfo(true, |
73 | | -// 0, |
74 | | -// '59DFBA84B2E9E7000135E80C', |
75 | | -// 0, |
76 | | -// 1, |
77 | | -// [new NamespaceId([ |
78 | | -// 3316183705, |
79 | | -// 3829351378, |
80 | | -// ])], |
81 | | -// new NamespaceId([0, 0]), |
82 | | -// PublicAccount.createFromPublicKey('1026D70E1954775749C6811084D6450A3184D977383F0E4282CD47118AF37755', NetworkType.MIJIN_TEST), |
83 | | -// new UInt64([795, 0]), |
84 | | -// new UInt64([50795, 0]), |
85 | | -// new EmptyAlias()); |
86 | | -// } |
87 | | - |
88 | | -// function givenSubnamespace(): NamespaceInfo { |
89 | | -// return new NamespaceInfo(true, |
90 | | -// 0, |
91 | | -// '5A1D85A1D53061000117D1EE', |
92 | | -// 1, |
93 | | -// 2, |
94 | | -// [new NamespaceId([3316183705, 3829351378]), new NamespaceId([1781696705, 4157485863])], |
95 | | -// new NamespaceId([3316183705, 3829351378]), |
96 | | -// PublicAccount.createFromPublicKey('1026D70E1954775749C6811084D6450A3184D977383F0E4282CD47118AF37755', NetworkType.MIJIN_TEST), |
97 | | -// new UInt64([795, 0]), |
98 | | -// new UInt64([50795, 0]), |
99 | | -// new EmptyAlias()); |
100 | | -// } |
101 | | -// }); |
| 96 | + function givenSubnamespace(): NamespaceInfo { |
| 97 | + return new NamespaceInfo(true, |
| 98 | + 0, |
| 99 | + '5A1D85A1D53061000117D1EE', |
| 100 | + 1, |
| 101 | + 2, |
| 102 | + [new NamespaceId([3316183705, 3829351378]), new NamespaceId([1781696705, 4157485863])], |
| 103 | + new NamespaceId([3316183705, 3829351378]), |
| 104 | + PublicAccount.createFromPublicKey('1026D70E1954775749C6811084D6450A3184D977383F0E4282CD47118AF37755', NetworkType.MIJIN_TEST), |
| 105 | + new UInt64([795, 0]), |
| 106 | + new UInt64([50795, 0]), |
| 107 | + new EmptyAlias()); |
| 108 | + } |
| 109 | +}); |
0 commit comments