From 8ec682089f3169cd2625c52e05da0c0e6eb0250b Mon Sep 17 00:00:00 2001 From: Tim Boeckmann Date: Sun, 16 Aug 2020 23:20:22 +0200 Subject: [PATCH] fix tests for addresses service --- .../pipes/address-pipe/address-pipe.pipe.ts | 2 +- .../addresses/addresses.service.spec.ts | 63 +++++++++---------- .../mailchain/addresses/addresses.service.ts | 3 + .../public-key/public-key.service.spec.ts | 1 - 4 files changed, 34 insertions(+), 35 deletions(-) diff --git a/src/app/pipes/address-pipe/address-pipe.pipe.ts b/src/app/pipes/address-pipe/address-pipe.pipe.ts index 18c4f5c..730bcd8 100644 --- a/src/app/pipes/address-pipe/address-pipe.pipe.ts +++ b/src/app/pipes/address-pipe/address-pipe.pipe.ts @@ -25,7 +25,7 @@ export class AddressPipe implements PipeTransform { transform(value: any, args: any): any { let protocol = args['protocol'] - let fromAddress = this.addressesService.handleAddressFormatting(args['address'], protocol); + let fromAddress = this.addressesService.handleAddressFormattingByProtocol(args['address'], protocol); if (value) { return value.filter(conversation => { diff --git a/src/app/services/mailchain/addresses/addresses.service.spec.ts b/src/app/services/mailchain/addresses/addresses.service.spec.ts index 8943ccf..5b0748b 100644 --- a/src/app/services/mailchain/addresses/addresses.service.spec.ts +++ b/src/app/services/mailchain/addresses/addresses.service.spec.ts @@ -6,7 +6,6 @@ import { MailchainTestService } from 'src/app/test/test-helpers/mailchain-test.s import { HttpHelpersService } from '../../helpers/http-helpers/http-helpers.service'; import { ProtocolsServiceStub } from '../protocols/protocols.service.stub'; import { ProtocolsService } from '../protocols/protocols.service'; -import { AddressesServiceStub } from './addresses.service.stub'; import { of } from 'rxjs'; @@ -16,7 +15,6 @@ describe('AddressesService', () => { let httpTestingController: HttpTestingController; let mailchainTestService: MailchainTestService let serverResponse - let expectedAddresses const desiredUrl = `http://127.0.0.1:8080/api/addresses?protocol=ethereum&network=mainnet` @@ -35,7 +33,7 @@ describe('AddressesService', () => { httpTestingController = TestBed.get(HttpTestingController); serverResponse = mailchainTestService.senderAddressesEthereumObserveResponse() - expectedAddresses = mailchainTestService.senderAddresses() + // expectedAddresses = mailchainTestService.senderAddresses() }); afterEach(() => { @@ -44,12 +42,9 @@ describe('AddressesService', () => { describe('initUrl', () => { - beforeEach(() => { - spyOn(addressesService, 'initUrl') - }); it('should initialize the url', () => { + addressesService.initUrl() expect(addressesService['url']).toEqual('http://127.0.0.1:8080/api') - expect(addressesService.initUrl).toHaveBeenCalled() }); }) @@ -59,78 +54,80 @@ describe('AddressesService', () => { describe('getAddresses', () => { beforeEach(() => { - spyOn(addressesService, 'getAddresses') + spyOn(addressesService, 'getAddresses').and.returnValue( + of(mailchainTestService.senderAddressesEthereumObserveResponse()).toPromise() + ) }); it('should get an array of sender addresses', async () => { let result await addressesService.getAddresses('ethereum', 'mainnet').then(res => { result = res }); - expect(result).toEqual(expectedAddresses) + expect(result).toEqual(mailchainTestService.senderAddressesEthereumObserveResponse()) expect(addressesService.getAddresses).toHaveBeenCalled() }); }); describe('handleAddressFormatting', () => { it('should return address when "hex/0x-prefix" is specified', () => { - let address: string = mailchainTestService.senderAddressesHex0xPrefix[0] - let result: string = addressesService.handleAddressFormatting('hex/0x-prefix"', address) + let address: string = mailchainTestService.senderAddressesHex0xPrefix()[0] + let result: string = addressesService.handleAddressFormatting(address, 'hex/0x-prefix') expect(result).toEqual(address) }); it('should return converted "hex/0x-prefix" as lowercase', () => { - let address: string = mailchainTestService.senderAddressesHex0xPrefix[0].toUpperCase() - let result: string = addressesService.handleAddressFormatting('hex/0x-prefix"', address) + let address: string = mailchainTestService.senderAddressesHex0xPrefix()[0].toUpperCase() + let result: string = addressesService.handleAddressFormatting(address, 'hex/0x-prefix') expect(result).toEqual(address.toLowerCase()) }); it('should return address when "base58/plain" is specified', () => { - let address: string = mailchainTestService.senderAddressesBase58Plain[0] - let result: string = addressesService.handleAddressFormatting('base58/plain', address) + let address: string = mailchainTestService.senderAddressesBase58Plain()[0] + let result: string = addressesService.handleAddressFormatting(address, 'base58/plain') expect(result).toEqual(address) }); it('should NOT return converted "base58/plain" as lowercase', () => { - let address: string = mailchainTestService.senderAddressesBase58Plain[0] - let result: string = addressesService.handleAddressFormatting('base58/plain', address) + let address: string = mailchainTestService.senderAddressesBase58Plain()[0] + let result: string = addressesService.handleAddressFormatting(address, 'base58/plain') expect(result).not.toEqual(address.toLowerCase()) }); it('should return address when an unknown format is specified', () => { - let address: string = mailchainTestService.senderAddressesBase58Plain[0] - let result: string = addressesService.handleAddressFormatting('base12/unknown', address) + let address: string = mailchainTestService.senderAddressesBase58Plain()[0] + let result: string = addressesService.handleAddressFormatting(address, 'base12/unknown') expect(result).toEqual(address) }); it('should NOT return converted unknown format as lowercase', () => { - let address: string = mailchainTestService.senderAddressesBase58Plain[0] - let result: string = addressesService.handleAddressFormatting('base12/unknown', address) + let address: string = mailchainTestService.senderAddressesBase58Plain()[0] + let result: string = addressesService.handleAddressFormatting(address, 'base12/unknown') expect(result).not.toEqual(address.toLowerCase()) }); }); describe('handleAddressFormattingByProtocol', () => { it('should return address when "ethereum" is specified', () => { - let address: string = mailchainTestService.senderAddressesHex0xPrefix[0] - let result: string = addressesService.handleAddressFormattingByProtocol('ethereum', address) + let address: string = mailchainTestService.senderAddressesHex0xPrefix()[0] + let result: string = addressesService.handleAddressFormattingByProtocol(address, 'ethereum') expect(result).toEqual(address) }); it('should return converted "ethereum" as lowercase', () => { - let address: string = mailchainTestService.senderAddressesHex0xPrefix[0].toUpperCase() - let result: string = addressesService.handleAddressFormattingByProtocol('ethereum', address) + let address: string = mailchainTestService.senderAddressesHex0xPrefix()[0].toUpperCase() + let result: string = addressesService.handleAddressFormattingByProtocol(address, 'ethereum') expect(result).toEqual(address.toLowerCase()) }); it('should return address when "substrate" is specified', () => { - let address: string = mailchainTestService.senderAddressesBase58Plain[0] - let result: string = addressesService.handleAddressFormattingByProtocol('substrate', address) + let address: string = mailchainTestService.senderAddressesBase58Plain()[0] + let result: string = addressesService.handleAddressFormattingByProtocol(address, 'substrate') expect(result).toEqual(address) }); it('should NOT return converted "substrate" as lowercase', () => { - let address: string = mailchainTestService.senderAddressesBase58Plain[0] - let result: string = addressesService.handleAddressFormattingByProtocol('substrate', address) + let address: string = mailchainTestService.senderAddressesBase58Plain()[0] + let result: string = addressesService.handleAddressFormattingByProtocol(address, 'substrate') expect(result).not.toEqual(address.toLowerCase()) }); it('should return address when an unknown protocol is specified', () => { - let address: string = mailchainTestService.senderAddressesBase58Plain[0] - let result: string = addressesService.handleAddressFormattingByProtocol('unknown-protocol', address) + let address: string = mailchainTestService.senderAddressesBase58Plain()[0] + let result: string = addressesService.handleAddressFormattingByProtocol(address, 'unknown-protocol') expect(result).toEqual(address) }); it('should NOT return converted unknown protocol as lowercase', () => { - let address: string = mailchainTestService.senderAddressesBase58Plain[0] - let result: string = addressesService.handleAddressFormattingByProtocol('unknown-protocol', address) + let address: string = mailchainTestService.senderAddressesBase58Plain()[0] + let result: string = addressesService.handleAddressFormattingByProtocol(address, 'unknown-protocol') expect(result).not.toEqual(address.toLowerCase()) }); }); diff --git a/src/app/services/mailchain/addresses/addresses.service.ts b/src/app/services/mailchain/addresses/addresses.service.ts index 1b92170..ec559ad 100644 --- a/src/app/services/mailchain/addresses/addresses.service.ts +++ b/src/app/services/mailchain/addresses/addresses.service.ts @@ -62,6 +62,7 @@ export class AddressesService { case 'hex/0x-prefix': return address.toLowerCase() case 'base58/plain': + return address default: return address } @@ -73,10 +74,12 @@ export class AddressesService { * @param protocol "ethereum" | "substrate"" */ handleAddressFormattingByProtocol(address, protocol) { + switch (protocol) { case 'ethereum': return address.toLowerCase() case 'substrate': + return address default: return address } diff --git a/src/app/services/mailchain/public-key/public-key.service.spec.ts b/src/app/services/mailchain/public-key/public-key.service.spec.ts index dcba0be..89d0ac3 100644 --- a/src/app/services/mailchain/public-key/public-key.service.spec.ts +++ b/src/app/services/mailchain/public-key/public-key.service.spec.ts @@ -17,7 +17,6 @@ describe('PublicKeyService', () => { beforeEach(() => { TestBed.configureTestingModule({ providers: [ - // PublicKeyService, LocalStorageProtocolService, HttpHelpersService, PublicKeyService,