Sprint #12 - 2019-06-07

Sprint metrics

  • Story Points: 96

  • Story Points for Code Freeze: 98

  • Story Points for Technical Go-live: 409

User stories

RLAU-1118 - Add SendMessage action to Application Layer

Story
Criteria

Adds a SendMessage action to the Swift client library.

  • Contributor: Alex

  • Component: swift library

As a library consumer I want to be able to use Application Layer `SendMessage` action So that I can add send message feature in a client

Scenario 1: Send Message non-empty plain text

Given a RadixApplicationClient When I send a non empty message without encryption, Then I see that action completes successfully

Scenario 2: Send Message non-empty encrypted

Given a RadixApplicationClient When I send a non-empty message with encryption Then I see that action completes successfully

Scenario 3: Send Message empty encrypted

Given a RadixApplicationClient When I send an empty message with encryption Then I see that action completes successfully

Scenario 4: Impersonating Sender

Given a RadixApplicationClient and identities Alice, Bob and Clara When Alice tries to send a message to Bob claiming to be from Clara Then I see that action fails with a validation error

RLAU-1120 - Post code of Card and App code on GitHub

Story
Criteria

Publish the Payment card Android demo App and source code to GitHub.

  • Contributor: Marc

  • Component: payment card demo

App code requires clean up and a whole bunch of finishing touches all throughout before it can be posted. Fixes to certain things are likely necessary as well as ensuring issues which are currently present with lower resolution devices are fixed/tweaked.

Things to do:

  • Hardcoded strings need to be organized into xml file which allows for easy translations.

  • Refactoring of code, method names, classes etc

  • Removal of bespoke code done exclusively for VOLVO

  • Focus entirely on functionality for develop/betanet branch of client libraries and remove anything ALPHANET related.

  • Add generic graphics (radix logos) which can then be easily replaced.

  • Look into handling and displaying a few error scenarios which are missing such as the NFC tag not reading properly and make them look like design.

Scenario: OpenSource

Given POS app is open source on GitHub When anybody navigates to github page Then they can view and clone projectScenario: Useful ReadMe on GitHub page

Given POS app is open source on GitHub When when a anybody navigates to github page Then they have a useful README to get started with including cards types to use etc

RLAU-1121 - Add TransferTokensaction to Application Layer

Story
Criteria

Adds a TransferTokens action to the Swift client library.

  • Contributor: Alex

  • Component: swift library

As a library consumer I want to be able to use Application Layer `TransferTokens` action So that I can build a wallet which can send tokens

Scenario 1: Send Tokens Granularity of 1

Given a RadixApplicationClient and identities Alice and Bob When Alice transfer tokens she owns, to Bob Then I see that the transfer actions completes successfully

Scenario 2: Send Tokens of type not owned

Given a RadixApplicationClient and identities Alice and Bob When Alice tries to transfer tokens of some type she does not own, to Bob Then I see that action fails with error `InsufficientFunds`

Scenario 3: Send Tokens insufficient funds

Given a RadixApplicationClient and identities Alice and Bob When Alice tries to transfer tokens with a larger amount than her current balance, to Bob Then I see that action fails with error `InsufficientFunds`

Scenario 4: Send Tokens Granularity Larger than 1

Given a RadixApplicationClient and identities Alice and Bob When Alice transfer tokens she owns, having a granularity larger than 1, to Bob Then I see that the transfer actions completes successfully

Scenario 5: Send Tokens with incorrect granularity amount

Given a RadixApplicationClient and identities Alice and Bob When Alice tries to transfer an amount of tokens not being a multiple of the granularity of said token, to Bob Then I see that action fails with an error saying that the granularity of the amount did not match the one of the Token.